Systems and methods for guidance of intraluminal devices within the vasculature

ABSTRACT

System for guiding an instrument within a vascular network of a patient are disclosed. In some embodiments, the system receives a medical image from a medical imaging device and identifies a distal tip and a direction the instrument in the image. The system may then determine a waypoint for the distal tip of the instrument based at least in part on the position and direction of the distal tip of the instrument. The system may then generate a trajectory command for moving the instrument through the vascular network from the current position to the waypoint. The system may operate in a closed loop. The system may provide the trajectory command to a robotic medical system configured to move the instrument according to the command.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

This application claims priority to U.S. Provisional Application No.63/041,538, filed Jun. 19, 2020, and U.S. Provisional Application No.63/074,340, filed Sep. 3, 2020, each of which are incorporated byreference herein. Any and all applications for which a foreign ordomestic priority claim is identified in the Application Data Sheet asfiled with the present application are hereby incorporated by referenceunder 37 CFR 1.57.

BACKGROUND Field

The disclosure relates generally to vascular surgery and endovasculartherapy, and more specifically, to autonomous endovascular navigation,localization and intervention.

Description

A large vessel occlusion (LVO) stroke occurs when a blood clot lodges inat least one of the internal carotid, proximal middle cerebral artery,proximal anterior cerebral artery, basilar artery or vertebral artery.Such a clot can partially or completely occlude downstream blood supplyto brain tissue resulting in neuronal infarction and subsequentneurological impairment or death.

Traditionally, LVO stroke has been treated using intravenousfibrinolytic agents. However, improvement in neurological outcomes andrisk mortality has recently been demonstrated in subjects who underwentmechanical thrombectomy (MT). Under certain conditions, a MT procedureconducted within a few hours (e.g., within six hours) of the onset of anLVO stroke has shown improved outcomes. From an economic perspective,for example, MT is likely to be cost-effective and/or even cost-dominantwhen conducting a lifetime analysis.

The benefits of MT are closely linked to the time it takes for theprocedure to be performed. Accordingly, the faster the occlusion istreated, the better the outcome. For instance, under certain conditions,for every 9-minute delay to treatment, approximately 1 in 100 treatedsubjects has a worse disability outcome.

SUMMARY

Systems, methods, and devices for guiding an instrument within avascular network of a patient are described herein. In some embodiments,the instrument comprises an endovascular or intraluminal instrumentconfigured for navigation through the vascular network, such as acatheter (including a steerable or articulating catheter), guidewire,sheath, etc. In some embodiments, the instrument is coupled to a roboticmedical system that is configured to manipulate the instrument (e.g.,cause articulation, roll, insertion, retraction, etc.) duringnavigation. The systems, methods, and devices described herein can, insome embodiments, utilize medical imaging (e.g., X-ray or others) tofacilitate navigation. For example, the instrument can be inserted intothe anatomy, and a medical image of the anatomy can be captured. Theinstrument can be identified within the medical image using, forexample, one or more computer vision techniques. A waypoint for theinstrument can be identified, either by the system or from a user input(e.g., selection of a target waypoint relative to the medical image),and the instrument can be moved to the waypoint. This process can beiteratively repeated, in some embodiments, in a closed loop, to guidethe instrument through the anatomy.

In a first aspect, a system for guiding an instrument within a vascularnetwork of a patient is described. The system can include an electronicstorage medium storing instructions configured to cause a processor to,for each of a plurality of steps in guiding the instrument through thevascular network: receive a medical image from a medical imaging device;identify, within the medical image, a distal tip of the instrument and adirection of the distal tip of the instrument; determine a currentposition and a current direction of the distal tip with respect to themedical image based on (a) the identified distal tip and the identifieddirection, (b) one or more past positions and past directions of thedistal tip determined during one or more previously executed steps ofthe plurality of steps, and (c) one or more past trajectory commandsgenerated during one or more previously executed steps of the pluralityof steps; determine a waypoint for the distal tip of the instrumentbased at least in part on the determined current position and thecurrent direction of the distal tip; and generate at least one currenttrajectory command based on the determined current position, thedetermined current direction, and the determined waypoint, the at leastone current trajectory command for moving the instrument through thevascular network from the current position to the waypoint.

The system may include one or more of the following features, in anycombination: (a) wherein determining the current position and currentdirection of the distal tip with respect to the medical image comprisesdetermining the current position and current direction of the distal tipwith respect to a two-dimensional imaging plane of the medical image;(b) wherein the processor is further configured to, for each step of theplurality of steps display the medical image, including an indication ofthe determined current position and the current direction of the distaltip, on a display device of a user device, and wherein determining thewaypoint is further based on a user input received on an input device ofthe user device, the user input comprising a selection of a pixel orgroup of pixels on the displayed relative image; (c) wherein, for eachstep of the plurality of steps, the processor is further configured todetermine the waypoint based on a pre-operatively determined pathwaythrough the vascular network; (d) wherein, for each step of theplurality of steps, the processor is further configured to display, onthe display device, the determined waypoint, and prior to generating theat least one trajectory command, receive a user confirmation or a useradjustment of the determined waypoint on the input device; (e) whereinthe pre-operatively determined pathway through the vascular network isdetermined based on a pre-operative CT scan; (f) the processor isfurther configured to, for each step of the plurality of steps, providethe at least one current trajectory command to a robotic medical systemconfigured to move the instrument according to the at least one currenttrajectory command, whereupon the robotic medical system moves theinstrument; (g) wherein the processor is further configured to, for eachof the plurality of steps receive, from a force sensor associated withthe instrument, an insertion force measure associated with the executionof the at least one current trajectory command by the robotic medicalsystem, and cause the robotic medical system to stop movement of theinstrument or retract the instrument when the insertion force measureexceeds a predetermined insertion force limit; (h) wherein the processoris further configured to, for each of the plurality of steps, determinewhether to inject a contrast material into the vascular network based ona time elapsed since a previous injection of contrast material, adistanced moved by the instrument since a previous injection of contrastmaterial, and/or the determined current position and direction of thedistal tip; (i) wherein the processor is further configured to, upon adetermination to inject the contrast material, provide a command to arobotic medical system configured to move the instrument, whereupon therobotic medical system injects the contrast material according to thecommand; (j) wherein the medical image is obtained non-invasively; (k)wherein the processor is further configured to determine whether thepatient is a candidate for the endovascular procedures based on analysisof a pre-operative CT scan; (l) wherein the analysis of thepre-operative CT scan is configured to identify one or more of thefollowing coarctation of the aorta, concomitant aortic dissection,ipsilateral carotid stenosis, a presence of an unstable carotid plaque,aortoiliac occlusive disease, right arch/left heart and bilateralfemoral artery stenoses precluding vascular access, severe vasculartortuosity, anatomical variants of the aortic arch anatomy, severeintramural calcification, for an aberrant right subclavian artery,and/or a supreme intercostal right vertebral artery origin; (m) whereinthe processor is configured to identify, within the medical image, thedistal tip and the direction of the distal tip based on one or morecomputer vision models; (n) wherein the one or more computer visionmodels comprise: semantic segmentation of the vascular network andinstrument, classifications on the distal tip position and/or direction,regressions on the distal tip position and/or direction, and/orproviding bounding boxes over the vascular network and/or the distaltip; (o) wherein generating the at least one current trajectory isfurther based on one or more of an inverse kinematics motion controlalgorithm and a Jacobian motion control algorithm; (p) wherein theprocessor is further configured to display, on a display device, the atleast one current trajectory command, whereupon an operator viewing thedisplay device manually or robotically executes the at least onetrajectory command; (q) wherein the processor is configured to executethe plurality of steps as a closed loop; (r) wherein the instrumentcomprises one or more of an endovascular catheter or an endovascularguidewire; (s) wherein the medical imaging device comprises an X-raymachine; and/or other features as described throughout this application

In another aspect, a system for guiding an instrument within a vascularnetwork of a patient from an insertion site to a target site during anendovascular procedure is described that comprises an electronic storagemedium storing instructions configured to cause a processor to, for eachof a plurality of steps in guiding the instrument through the vascularnetwork to the target site: receive a medical image from medical imagingdevice, wherein the medical image is obtained non-invasively; identify,within the medical image, a distal tip of the instrument and a directionof the distal tip of the instrument; determine a current position and acurrent direction of the distal tip of the instrument with respect to atwo-dimensional imaging plane of the medical image based on (a) theidentified distal tip and the identified direction of the distal tip,(b) one or more past positions and past directions of the distal tipdetermined during one or more previously executed steps of the pluralityof steps, and (c) one or more past trajectory commands generated duringone or more previously executed steps of the plurality of steps; displaythe medical image, including an indication of the determined currentposition and the current direction of the distal tip, on a displaydevice of a user device; receive, on an input device of the user device,a selection of a navigation waypoint for movement of the distal tip ofthe instrument, wherein the selection comprises a pixel or group ofpixels on the displayed medical image; generate at least one currenttrajectory command based on the determined current position and thecurrent direction, the at least one current trajectory command formoving the instrument within the vascular network toward the navigationwaypoint; and provide the at least one current trajectory command to arobotic medical system configured to move the instrument according tothe at least one current trajectory command.

The system may include one or more of the following features, in anycombination: (a) wherein the user device is remotely located relative tothe patient, the instrument, and the robotic medical system; (b) whereinthe user device communicates with the system over a public computernetwork; (c) wherein the user device comprises a personal computer, alaptop, a tablet, or a smartphone; (d) wherein the processor is furtherconfigured to receive or determine a pathway from the insertion site tothe target site, and, for each of the plurality of steps in guiding theinstrument along the pathway to the target site, determine a suggestednavigation waypoint for movement of the distal tip of the instrument,display the suggested navigation waypoint on the displayed medicalimage, and wherein receiving, on the input device of the user device,the selection of the navigation waypoint for movement of the distal tipof the instrument comprises receiving a confirmation of the suggestednavigation waypoint; (e) wherein the endovascular procedure comprises amechanical thrombectomy for large vessel occlusion stroke treatment;and/or other features described throughout this application.

In another aspect, a system for guiding an instrument within a vascularnetwork of a patient includes: an instrument configured for navigationthrough the vascular network of the patient; a robotic medical systemcoupled to the instrument and configured to move the instrument throughthe vascular network; and an electronic storage medium storinginstructions configured to cause a processor to, for each of a pluralityof steps in guiding the instrument through the vascular network: receivea medical image from a medical imaging device; identify, within themedical image, a distal tip of the instrument and a direction of thedistal tip of the instrument; determine a current position and a currentdirection of the distal tip with respect to the medical image based on(a) the identified distal tip and the identified direction, (b) one ormore past positions and past directions of the distal tip determinedduring one or more previously executed steps of the plurality of steps,and (c) one or more past trajectory commands generated during one ormore previously executed steps of the plurality of steps; determine awaypoint for the distal tip of the instrument based at least in part onthe determined current position and the current direction of the distaltip; generate at least one current trajectory command based on thedetermined current position and direction and the determined waypoint,the at least one current trajectory command for moving the intraluminalmedical instrument through the vascular network from the currentposition to the waypoint; and provide the at least one currenttrajectory command to a robotic medical system configured to move theinstrument according to the at least one current trajectory command.

The system may include one or more of the following features in anycombination: (a) wherein the processor is further configured to, foreach step of the plurality of steps, display the medical image,including an indication of the determined current position and thecurrent direction of the distal tip, on a display device of a userdevice, and wherein determining the waypoint is further based on a userinput received on an input device of the user device, the user inputcomprising a selection of a pixel or group of pixels on the displayedrelative image; (b) wherein, for each step of the plurality of steps,the processor is further configured to determine the waypoint based on apre-operatively determined pathway through the vascular network; (c)wherein determining the current position and current direction of thedistal tip with respect to the medical image comprises determining thecurrent position and current direction of the distal tip with respect toa two-dimensional imaging plane of the medical image; and/or otherfeatures as described throughout this application.

According to some embodiments, a method of guiding an intraluminalcomponent of a robotic assembly within an anatomical intravascularnetwork of a subject to a targeted anatomical location comprisesobtaining a plurality of images of the subject's anatomy to determine alocation of the intraluminal component relative to the anatomicalintraluminal network; determining, using a guidance system, apredetermined pathway for guiding the intraluminal component from afirst point to a second point within the intraluminal network, whereindetermining the predetermined pathway comprises processing data relatedto the plurality of images; and automatically advancing the intraluminalcomponent through the anatomical intraluminal network of the subject tothe targeted anatomical location along the predetermined pathway,wherein the system is configured to at least temporarily ceaseadvancement of the intraluminal component if at least one triggeringcriterion occurs.

According to some embodiments, the systems, methods, and devicesdescribed herein are configured to treat ischemic stroke. In somearrangements, the anatomical intraluminal network comprises avasculature of the subject. In one embodiment, the targeted anatomicallocation comprises a cerebral artery.

According to some embodiments, the intraluminal component or instrumentcomprises one or more of a catheter, a sheath, a wire, or the like. Insome embodiments, the systems, methods, and devices can further compriseprocessing data relating to at least one other factor. In someembodiments, the at least one other factor comprises data obtained fromother subjects who have undergone a similar procedure and/or otherhistorical data that can be used to develop and/or train an algorithm.In some embodiments, the data relates to anatomical pathway informationfor reaching the targeted anatomical location.

According to some embodiments, the at least one triggering criterioncomprises a real-time force along the intraluminal component thatexceeds a threshold value. In some embodiments, the at least onetriggering criterion comprises a determination that a distal end of theintraluminal component is not oriented in a direction aligned with thepredetermined pathway. In some embodiments, the at least one triggeringcriterion comprises the appearance (e.g., the two-dimensional orthree-dimensional pose or shape) of the instrument or intraluminalcomponent. For example, in some embodiments, bowing of the body of theinstrument or intraluminal component or the irregular, scrambled, orbent appearance of the instrument or intraluminal component or thedistal end thereof can be a triggering criterion.

According to some embodiments, the systems described herein comprisecomputer-readable storage mediums that determine the predeterminedpathway. In some embodiments, the system is configured to operativelycouple to a robotic assembly.

According to some embodiments, the systems, methods, and devices furthercomprise performing a treatment procedure once the intraluminalcomponent has reached the targeted anatomical location. In someembodiments, the treatment procedure comprises at least partiallyremoving a clot or other obstruction or occlusion from the targetedanatomical location. In some embodiments, the clot or other obstructionis at least partially removed using suction thrombolysis or stentretrieval.

According to some embodiments, obtaining the plurality of imagescomprises using an imaging device. In some embodiments, the imagingdevice comprises an external X-ray device. In other embodiments, theimaging device comprises an external X-ray and contrast opacified bloodvessels.

According to some embodiments, a system is configured to treat ischemicstroke by autonomously steering a catheter to an offending clot andretrieving it. In some arrangements, the system comprises a processorconfigured to, upon execution of specific program instructions stored ona computer-readable storage medium, provide guidance for moving arobotic device through the vasculature of the subject to reach the clot.

In general, prior catheter control techniques relied largely uponinformation provided by sensing modalities localized at the tip of theinstrument. In some embodiments, the methods, systems and devicesdescribed herein, are not limited in the same way. Rather, in someembodiments, the methods, systems, and devices can utilize computervision algorithms to detect the catheter within a medical image (e.g.,an X-ray) and determine the position (e.g., the two-dimensional (x, y)position) and heading angle of any point along the catheter body. Thisinformation can inform a motion planning algorithm about how thecatheter might behave in response to various movement or trajectorycommands (e.g., actuating motors of a robotic medical system or manuallydriving the instrument). For example, a point some distance along thecatheter body or a collection of points along the catheter body may beused to estimate the direction in which the catheter may move wheninserted. This information can be used to select the motor inputs mostlikely to advance the catheter to its target location. With thisinformation, a kinematic model may not be needed to calculate theestimated position and heading of the catheter's articulating section.Instead, it is directly observed (e.g., within the image). These andother features are described in greater detail throughout thisapplication.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects and advantages of the presentapplication are described with reference to drawings of certainembodiments, which are intended to illustrate, but not to limit, thepresent disclosure. It is to be understood that the attached drawingsare for the purpose of illustrating concepts disclosed in the presentapplication and may not be to scale.

FIG. 1 schematically illustrates different modules of a system forlocating and removing a clot or other obstructive member from a bodylumen of a subject according to one embodiment.

FIG. 2 illustrates one embodiment of an output of imaging showing acatheter being advanced through the vasculature of the subject.

FIG. 3 illustrates one embodiment of a flowchart depicting various stepsthat the system can take to accomplish refined approximations during aprocedure.

FIG. 4 illustrates one embodiment of a display output configured to beprovided by a system disclosed herein.

FIG. 5 illustrates one embodiment of an output showing the vasculatureof the subject while a catheter is being advanced therethrough.

FIG. 6 illustrates an embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention.

FIG. 7A illustrates an embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention.

FIG. 7B illustrates an embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention.

FIG. 8A illustrates an embodiment(s) of a control loop for teleoperationof robotic endovascular intervention.

FIG. 8B illustrates an embodiment(s) of a control loop for teleoperationof robotic endovascular intervention.

FIG. 9A illustrates an embodiment(s) of a control loop for teleoperationof robotic endovascular intervention.

FIG. 9B illustrates an embodiment(s) of a control loop for teleoperationof robotic endovascular intervention.

FIG. 10 is a block diagram depicting an embodiment(s) of a computerhardware system configured to run software for implementing one or moreembodiments of systems, devices, and methods for guidance ofintraluminal and/or endovascular devices within the anatomy.

FIG. 11 illustrates an embodiment(s) of image space control of a systemand/or method for robotic endovascular intervention as applied to anexample vasculature.

FIG. 12 illustrates an example image of a vasculature and relevantanatomical information that can be used by an embodiment(s) of a systemand/or method for robotic endovascular intervention.

FIG. 13 illustrates an example embodiment(s) of a convolutional neuralnetwork (CNN) that can be used by an embodiment(s) of a system and/ormethod for robotic endovascular intervention.

FIG. 14 illustrates an example vessel roadmap that can be used by anembodiment(s) of a system and/or method for robotic endovascularintervention.

FIG. 15 is a block diagram illustrating an embodiment(s) of a closedcontrol loop for a system and/or method for robotic endovascularintervention.

FIG. 16 is a block diagram illustrating an embodiment(s) of a controlloop for a system and/or method for robotic endovascular intervention.

FIG. 17 is a block diagram illustrating an embodiment(s) of a controlloop for a system and/or method for robotic endovascular intervention.

FIG. 18 illustrates a gray scale encoded identifier according to anembodiment.

FIG. 19 is a flowchart that depicts an example encoding method forencoding images with unique identifies according to an embodiment.

FIG. 20 illustrates an example output of an IP address command accordingto an embodiment.

FIG. 21 illustrates an example output of a traceroute command accordingto an embodiment.

FIG. 22 illustrates example connections between network nodes between asource and a destination according to an embodiment.

FIG. 23 illustrates data channels between a remote application and asystem application according to an embodiment.

FIG. 24 illustrates an example heartbeat sequence diagram according toan embodiment.

FIG. 25 illustrates an example monitoring hierarchy according to anembodiment.

FIG. 26 illustrates an example monitoring method according to anembodiment.

The figures are drawn for ease of explanation of the basic teachings ofthe present disclosure only; the extensions of the figures with respectto number, position, relationship, and dimensions of the parts to formthe preferred embodiment will be explained or will be within the skillof the art after the following teachings of the present disclosure havebeen read and understood. Further, the exact dimensions and dimensionalproportions to conform to specific force, weight, strength, and similarrequirements will likewise be within the skill of the art after thefollowing teachings of the present disclosures have been read andunderstood.

DETAILED DESCRIPTION

The systems disclosed herein may be configured to safely and predictablydirect a robotically-controlled device through the vasculature (or otherintraluminal system) of a subject to access a clot or other complete orpartial occlusion. The various inventions described herein can provideone or more benefits to the subject being treated and the treatmentprocedure more generally, including, for example and without limitation,enabling the performance of time critical vascular intervention incertain situations and locations (e.g., instances where a trainedinterventionist is not available), making more precise interventiondecisions, providing inbuilt safety mechanisms (e.g., including forcefeedback), providing assessment of the appearance of instrument tips toreduce or minimize the risk of vascular complications, assessment of thedegree of success of the intervention, providing a more reliable systemand method for advancing an intraluminal device of a robotic assembly toa target anatomical location, providing a safer approach to automaticadvancement of an intraluminal device within a subject's anatomy,providing a more sophisticated strategy for determining a desired orpreferred intraluminal pathway for reaching a targeted anatomicallocation and/or the like.

The various technologies disclosed herein can be used for the treatmentof various diseases and other conditions where a robotic device isadvanced through an intraluminal (e.g., intravascular) network of asubject to reach the site of intravascular pathology (e.g., thrombosis,embolus, occlusion, aneurysm, rupture, bleeding, dissection, etc.). Forexample, as discussed in greater detail herein, the various embodimentsdisclosed in this application can be used to treat stroke (e.g., LVOstroke). In such configurations, for example, the system may beconfigured to autonomously or semi-autonomously advance a robotic devicethrough the vasculature of the subject to reach an offending clot. Insome embodiments, the vascular robotic device is configured to at leastpartially remove the clot (e.g., using mechanical thrombectomy, usingdissolution techniques, etc.), as desired or required.

Although this application is primarily focused on the treatment ofischemic stroke and the removal of clots, the various systems andmethods disclosed herein can be used in a variety of other applicationswhere robotic systems are used to guide catheters and/or other devicesthrough an intraluminal anatomical network of a subject. For example,the various systems, devices, and/or methods discussed herein can beused in arterial applications (e.g., arterial angioplasty, arterialstenting, arterial thrombectomy, arterial embolization, insertion offlow diverters for treatment of an aneurysm, treatment of arteriovenousmalformation, etc.), venous applications (e.g., venous stents, venousthrombectomy, including thrombectomy and suction thrombolysis forpulmonary embolism, etc.), aortic applications (e.g., endovascularabdominal aortic stents, endovascular thoracic aortic stents, etc.),cardiac applications (e.g., transcatheter valve replacement (aortic,mitral, tricuspid, pulmonary), repair of atrial and ventricular septaldefects, insertion of pacemaker/defibrillator, etc.), and othermiscellaneous applications (e.g., administration of directed arterialchemotherapy, insertion of neuromodulation devices, insertion ofveno-cacal filters, etc.).

General

As schematically illustrated in FIG. 1, according to some embodiments, asystem 10 can include several modules or components. The system 10 canbe provided with all such modules or components. Alternatively, thesystem 10 can include only some of the modules or components. In sucharrangements, however, the various modules or components included in thesystem 10 can be advantageously adapted to function with separatemodules or components which are not necessarily included in the system10. In other words, a system 10 can be configured to operatively coupleto one or more modules or components provided by another manufacturer orsupplier.

With continued reference to FIG. 1, the system 10 can include (or can beconfigured to operatively couple to) an X-ray device or another imagingdevice or system 20. The system 10 can further comprise a visionprocessing component 30 that is configured to receive X-ray or otherimaging data from the imaging device 20.

According to some embodiments, the imaging device 20 is configured toacquire real-time images of the subject prior to and/or during theexecution of a procedure (e.g., mechanical thrombectomy). In someembodiments, the imaging device 20 is configured to acquire real-timeimages of the subject while navigating to the site of the intervention.In some embodiments, the imaging device 20 comprises an external X-raydevice. However, in other arrangements, the imaging device 20 caninclude any other type of device, such as, e.g., intravascularultrasound and/or any other intravascular imaging device. One embodimentof an output or other computer representation derived at least partiallyfrom the output of the imaging device 20 showing a catheter beingadvanced through the vasculature of the subject is illustrated in FIG.2.

In some arrangements, the imaging device 20 is included together withother components of the system 10 in a single or unitary component ordevice. However, in other arrangements, the imaging device 20 is aseparate device or component (e.g., an off-the-shelf device), and theoverall system 10 is configured to operatively couple to such a separatedevice 20. Such operative coupling between various components and/ordevices included in the system can be accomplished using one or morewired and/or wireless connection platforms.

According to some embodiments, at specific intervals (e.g., a regularinterval, an interval triggered by the occurrence of some event, etc.),an image (e.g., x-ray) of the subject is acquired by the imaging device20. As schematically depicted in FIG. 1, such images can be provided toa vision processing component 30. The vision processing component 30 canbe operatively coupled to a processor (e.g., within a computer or othercomputing device). Such a processor can be configured to, upon executionof specific program instructions stored on a computer-readable storagemedium, provide guidance for moving a robotic device through the anatomyof a subject (e.g., through the vasculature of the subject to reach theclot for the treatment of ischemic stroke).

The frequency at which images are acquired by the imaging device 20 andthe frequency at which the imaging device 20 delivers images to thevision processing component 30 can vary, for example, based on a desiredor required protocol. In some embodiments, these two frequencies areidentical (or substantially identical) such that images that areobtained by the imaging device 20 are subsequently (e.g., immediately ornearly immediately) provided to the vision processing component 30.However, in other embodiments, the two frequencies can be different fromone another. For instance, in one arrangement, the images acquired bythe X-ray device or other imaging device 20 can be provided to thevision processing component 30 in batches (e.g., 2, 3, 4, 5, more than5, etc.) at one time. In some embodiments, bursts of images can be taken(e.g., at 20 to 30 Hz), and those bursts may be separated by a timeperiod (e.g., a configurable time period), for example, a time period ofseveral seconds (0.05 to 0.5 Hz for bursts).

According to some embodiments, the frequency at which images areacquired by the imaging device 20 and/or the frequency at which theimaging device 20 delivers images to the vision processing component 30can be 0.1 seconds to 10 seconds (e.g., 0.1-0.2, 0.2-0.3, 0.3-0.4,0.4-0.5, 0.5-1, 1-2, 2-3, 3-4, 4-5, 5-6, 6-7, 7-8, 8-9, 9-10 seconds,values in between the foregoing ranges, etc.). In other embodiments, thefrequency at which images are acquired by the imaging device 20 and/orthe frequency at which the imaging device 20 delivers images to thevision processing component 30 can be less than 0.1 seconds or greaterthan 10 seconds, as desired or required. In other embodiments, thefrequency at which images are acquired by the imaging device 20 and/orthe frequency at which the imaging device 20 delivers images to thevision processing component 30 depends on the occurrence of one or moreevents (e.g., the catheter has been advanced or otherwise moved withinthe targeted intraluminal device by a particular distance, a user of thesystem can select when images are acquired and processed, etc.).

With further attention to FIG. 1, a trajectory planning or guidancemodule or component 40 can be configured to generate a desired orpreferred pathway through a targeted intraluminal network of a subject(e.g., the subject's vasculature). Such a desired or preferred pathwaycan be based, at least in part, on one or more of the following factors:imaging provided by the imaging device 20; imaging from one or morepreoperative scans, such as CT, MRI, or x-ray images; data regarding thespecific procedure to be performed (e.g., MT or other clot treatment);data and resulting modeling generated from prior procedures (e.g., priorsimilar procedures); information regarding the subject (e.g., gender,age, height, weight, health condition, disease assessment, etc.); theoutput from computer vision algorithms (device 30) and/or any otherfactor.

In some embodiments, the X-ray and/or other imaging data provided to thevision processing component 30 can include images related to thesubject's anatomy (e.g., depicting the intravascular or otherintraluminal network of the subject), images related to theinstrumentation and/or other devices that will be advanced through asubject's targeted intraluminal network, and/or the like.

The vision processing component 30 can comprise an algorithm or programinstructions stored on a computer-readable storage medium. In someembodiments, such a processing component 30 is incorporated into alarger computing system that also includes a processor and/or othercomponents (e.g., other modules and/or processors, memory, input/outputdevices, power modules, etc.). For example, as discussed in greaterdetail below, a single computing device can include the visionprocessing component 30, the trajectory or guidance planning module 40,and a motion control module 50. In other embodiments, a larger computingsystem includes only one, two, or less than all of the various modules,as desired or required. Therefore, in some arrangements, two or moreseparate computing devices (or devices comprising computing devices orprocessors) are used to accommodate all of the desired or requiredmodules and/or other components of the system 10.

As noted above, in some embodiments, the vision processing component 30can be configured to process the various images provided to it anddetermine the location and/or configuration (e.g., pose, shape, and/ororientation) of any instrumentation and/or other intraluminal toolsbeing used for a particular procedure relative to the subject's targetedintraluminal network. In some embodiments, the location of theinstrumentation and/or other tools used in a particular procedure areprovided to the trajectory or guidance planning module or component 40.Such a module or component 40 can include an algorithm or programinstructions stored on a computer-readable storage medium and can beconfigured to determine and/or recommend one or more pathways throughthe corresponding intraluminal network of a subject (e.g., through thesubject's vasculature from the point of entry, such as a femoral artery,to the targeted location of a clot in the brain) based, at least inpart, on images related to the subject's specific anatomy, the surgicaltools being used to perform the specific procedure, previously collecteddata (e.g., prior treatment data), and/or one or more other factors orconsiderations.

With continued attention to the schematic depicted in FIG. 1, the system10 can include a motion control module or component 50 that isconfigured to receive a set of commands from the trajectory or guidanceplanning module or component 40. In some embodiments, such a set ofcommands comprises specific instructions to a motion control module orcomponent 50 that is configured to provide the necessary control settingto operate a robotic system 60. For example, the motion control moduleor component 50 can be configured to directly or indirectly communicatewith a robotic system 60 that is being used to execute a desiredprotocol. In some embodiments, the motion control module or component 50is adapted to cooperate with one of several robotic systems 60 that canbe used in conjunction with the system 10. In other arrangements, themotion control module or component can be customized in order toproperly provide instructions and operatively couple to a robotic system60.

As noted above, one or more of the system 10 components or modules canbe incorporated into a single device or system, as desired or required.In other embodiments, components or modules can be included into two ormore separate devices.

The motion control module 50 can be configured to determine how to movethe robot's motors and/or other components to achieve the desiredtrajectory command. The robotic system 60 can be adapted to execute thecommand provided to it (e.g., by the motion control module 50) andmodify the necessary mechanical components of the robotic system 60 tomove the surgical tools within the anatomy.

Contrast agent and/or other image-enhancing technologies can beincorporated into the various devices, systems, and/or methods disclosedherein to facilitate execution of a particular procedure. For example,contrast agent can be used during execution of a treatment procedure toenhance visualization of blood flow through a targeted vasculature of asubject. In other words, the contrast agent can render the targetedvessels visible (or improve the visibility of the targeted vessels)under X-ray (and/or other imaging technologies). In some embodiments,the instruments and/or other devices are directed through these vessels(e.g., by the robotic system 60).

According to some embodiments, the systems and methods disclosed hereinare configured to release contrast agent within the targetedintraluminal network (e.g., vasculature) of the subject when X-rayand/or imaging is acquired (e.g., by imaging device 20 or the visionprocessing component or module 30). For example, according to somearrangements, a typical flow would be to inject contrast and then recorda burst of X-ray images to observe the contrast flow through the vesselsof the subject.

For any of the embodiments disclosed herein, contrast agent and/or otherimage-enhancing technologies can be used to accomplish one or more ofthe following: to confirm the presence of intravascular pathology (e.g.,filling defect/stroke, aneurysm, dissection, etc.), confirm the vascularanatomy of the subject, localize instruments in relation to thesubject's anatomy, assess for possible complications (by way of example,in some embodiments, extravascular contrast extravasation can besuggestive or otherwise indicative of vessel perforation), and/or thelike.

Contrast agent can be configured to be injected automatically (e.g.,according to some frequency, according to an algorithmically generatedtrigger, etc.) and/or manually (e.g., at the direction of a practitioneror other user), as desired or required, for any of the systems disclosedherein. By way of example, a predetermined volume of contrast agent canbe released into a targeted vasculature of a subject prior to obtainingimaging using an X-ray or other imaging device 20. The algorithmictrigger may be based on the output from the device 30, the device 40,and/or the device 50, e.g., when the trajectory is approaching abifurcation or when the statistical confidence in the anatomicalfeatures drops below a set threshold.

The various embodiments disclosed herein can provide one or morebenefits and advantages to a robotically-controlled intraluminalprocedure. For example, as discussed in greater detail below, thepresent application discloses a clinically predictable, reliable, andsafe way of using preoperative screening to determine whether or not asubject is eligible to undergo a desired or required procedure. In someembodiments, the methods and systems described herein may include theuse of preoperative screening, which can include obtaining acomputerized tomography (CT) scan and/or other screening technologiesthat help obtain a clear view of the anatomical environment beforebeginning a procedure.

According to some embodiments, a predictable screening procedure thattakes the specific anatomical landscape of a subject into considerationcan help make the actual treatment procedure tractable or morepredictable. This can provide predictable and simplified guidance to apractitioner that a desired treatment protocol can proceed.

According to some embodiments, a catheter and/or other instrument ordevice that is guided within an intraluminal network of a subject'sanatomy (for example, as controlled by the device 60 of FIG. 1) caninclude one or more sensors. For example, such a device can comprise aforce or pressure sensor that is designed and otherwise adapted todetect a force to which the portion of the catheter or other device thatincludes the sensor is subjected.

As a result of using force or pressure sensors on the catheters and/orother intraluminal devices that will be advanced through the subject,the system can ensure that unintentional, potentially misguided, and/ordangerous maneuvers being performed by a robotic system are prevented.In some embodiments, once the force detected by such a sensor exceeds aparticular high threshold value, the system is configured to direct therobotic system to cease, retract, and/or take other appropriate steps.For example, the force sensor data can be provided to the trajectory orguidance planning module or component 40, the motion control module orcomponent 50, the device 60, and/or any other component or module of thesystem 10 to ensure that the force generated by attempting to advancethe corresponding catheter or other device through the subject does notreach an undesirable value. In some embodiments, the acceptable forcethreshold may be modified based on the stage of the procedure and/orother information related to the subject.

According to some embodiments, the catheters, instruments and/or toolsincluded as part of the robotic system include one or more force orpressure sensors. In such circumstances, the sensors are designed andotherwise adapted to communicate (e.g., wirelessly) the force orpressure data in real time to the trajectory or guidance planning moduleor component 40, the motion control module or component 50 and/or anyother component or module of the system 10.

In some embodiments, the threshold force or pressure that triggers achange in the procedure (e.g., to prevent harm or other damage to thesubject or the system) can depend on the specific procedure beingperformed. The system can be configured to permit a practitioner orother user to select threshold force value. Such customization canensure that a practitioner accounts for additional subject and/orprocedure specific considerations in connection with a roboticprocedure. In other embodiments, the threshold force or pressure can bedetermined by the system 10, for example, by the trajectory planningcomponent 40.

In other embodiments, the system can include a force or pressure sensorthat is configured to be removably attached to one or more portions of acatheter or other device that will be advanced through a subject. Forexample, such a removable sensor can be configured to secure to or neara distal end of a catheter. Such removable/attachable sensors can bereusable or disposable, as desired or required.

According to some arrangements, two or more computer vision models canbe used for a particular system. Such redundancy can further ensure thatthe imaging data obtained and processed by the system are accurate. Thiscan result in safer and more predictable treatment procedures.

In some embodiments, the system is configured to automatically commencethe required or desired treatment steps (e.g., removal of a clot) oncethe catheter and/or other devices that are advanced through the subjecthave attained their targeted location. In other configurations, however,such treatment steps are manually initiated by a practitioner or otheruser, as desired or required by a particular application or use.

With respect to certain treatment protocols, the system can beconfigured to use one or more models (e.g., vision models) to analyzethe state of the treatment steps that are or were performed by therobotic system to ensure efficacy, safety, and/or other goals. Forinstance, in some embodiments involving treatment of ischemic stroke, acomputer vision model can be used to confirm the degree of reperfusion.This can help the practitioner determine if the procedure can beterminated or if additional action is needed. Such confirmation can beconfigured to occur automatically or manually (e.g., via the input of apractitioner).

For any of the embodiments disclosed herein, the system can, in someinstances, be adapted to permit or require human operator involvement orinteraction (e.g., confirmation, oversight, etc.) before certain furthersteps are taken. For instance, as a catheter and/or other instrument isbeing advanced within the vasculature or other intraluminal network of asubject, the system can be configured to require the practitioner toapprove of one or more subsequent steps or actions before the procedurecan resume.

According to some embodiments, time lapse images obtained by an X-ray orother imaging device 20 and transferred to one or more other modules orcomponents of the system 10 can be used to create a single, simplifiedview (for example, a view that can be displayed to a practitioner,operator, or other user on a graphical user interface). Such a view canprovide additional information to the practitioner and further assisthim or her with oversight during the execution of a robotic procedure.In some embodiments, such time-lapse images can involve color,contrasting, patterning, and/or the like to view changes over time, asdesired or required.

According to some embodiments, tools (e.g., predictive modeling, otherdata processing, etc.) can be used to estimate or update estimates ofanatomical locations over time. As a result, a roadmap or pathway for acatheter or other device that will be advanced through the subject thatis recommended and guided by the system 10 can be refined (e.g.,fine-tuned) with additional imaging, data, and/or other information.Such refinements can be used to benchmark any deviations from theexpected guidance of a catheter or other device through the anatomy of asubject. One example flowchart 100 illustrating various steps that thesystem can take to accomplish refined approximations during a procedureis provided in FIG. 3.

In some configurations, the system can be adapted to display orotherwise provide one or more outputs (e.g., visual, audible, haptic,etc.) to the practitioner during the execution of a procedure. Forexample, a description of the processing and recommended next stepsbeing made by the system (e.g., in real time) can be provided to a user.In some embodiments, the system can provide one or more of the followingdata and/or other information to the practitioner: the location of thecatheter and/or other instruments or devices being advanced through thesubject, where such devices will move next (e.g., specific branch,direction (e.g., “turn right or left,” “rotate,” “move forward,”“retract,” “commence clot removal or other treatment step,” etc.), whatclinical step is being performed, what clinical steps have beenperformed, what clinical steps remain to be performed, pressure or forcemeasurement of any sensors positioned on or along any intraluminaldevices, and/or the like. One example of such a display output 200 isillustrated in FIG. 4.

In order to provide the information to a practitioner or other user, thesystem can include one or more outputs (e.g., a display, touchscreen,etc.). In some arrangements, such an output can be incorporated into thesystem. In alternative embodiments, such an output is separate from thesystem; however, it can be advantageously configured to be operativelycoupled to the system (e.g., via one or more wired or wirelessconnections), as desired or required.

Pre-Procedural Eligibility and Assessment

For any of the embodiments disclosed herein, the systems and/orcorresponding methods can include prescreening measures to verifywhether the desired treatment protocol can or should be performed on aspecific subject (e.g., to verify the safety and/or efficacy of such adesired treatment protocol).

By way of example, prescreening of a subject to ensure that a mechanicalthrombectomy procedure can be safely performed using the technologiesdisclosed herein can comprise ensuring that the subject does not have orexhibit symptoms of one or more of the following: coarctation of theaorta, concomitant aortic dissection, ipsilateral carotid stenosis abovea particular threshold (e.g., 80% or greater stenosis), the presence ofan unstable carotid plaque, aortoiliac occlusive disease, rightarch/left heart and bilateral femoral artery stenoses precludingvascular access, right-sided posterior circulation strokes with anaberrant right subclavian artery, a supreme intercostal right vertebralartery origin, and/or other contraindications.

According to some embodiments, for instance, the following criteria mayneed to be satisfied in order for a subject to be cleared to moveforward with a robotic ischemic stroke treatment procedure: the subjectindicates for large vessel occlusion stroke, the subject's carotidstenosis is not greater than a particular threshold (e.g., 70%stenosis), the subject does not have severe intramural calcification,the subject does not have anatomical variants of the aortic archanatomy, and/or and the subject does not have severe vasculartortuosity. In other embodiments, the list of criteria can vary (e.g.,fewer or more criteria, different criteria, etc.). In some embodiments,one or more of the criteria can be obtained and/or at least confirmedusing CT and/or other technologies.

In some embodiments, a CT scan can be used to determine if a subject iseligible to undergo a particular ischemic stroke treatment bydetermining certain information, including, without limitation, thelocation of the large vessel occlusion stroke, the vessels through whichthe intravascular devices (e.g., catheter, other device, etc.) will needto pass to reach the targeted location of the stroke, the length, angleof origin and/or other details regarding each vessel along a designatedpath, and/or the like.

According to some embodiments, if a decision is made to perform aprocedure (e.g., by the system using certain criteria and analysis, asdiscussed above), certain steps can be performed manually by thepractitioner. Such steps can include, without limitation, vascularaccess is obtained via the right or left femoral, radial or internalcarotid artery, the robotic catheter and other components of the roboticassembly are arranged (e.g., catheter/wire agnostic), the catheterand/or wire are inserted into the formal sheath (e.g., with or withoutimage guidance) and/or the like.

Autonomous Navigation

According to some embodiments, intravascular (or other intraluminal)access of the robotic catheter, other components of the roboticassembly, and/or other devices that will be advanced through the subjectcan be confirmed by an injection of contrast, automated confirmation ofthe presence of a surrounding vessel using computer vision, and/or anyother confirmatory steps or actions, as desired or required.

In some arrangements, once confirmation of vascular access has beenobtained, the system is configured to advance the catheter (and/or anyother intravascular device being used) once certain criteria have beensatisfied. By way of example, such criteria can include, withoutlimitation, the following: the presence of the catheter (or otherdevice) within a vessel of the subject with a predesignated pathwaydetermined by the system, the tip of the catheter or other deviceappears regular (e.g., does not appear to be deformed or in any wayirregular), the tip of the catheter or other device is oriented in thedesired direction (vis-à-vis the predesignated pathway determined by thesystem), the catheter or other device is being advanced withoutexceeding a threshold force or pressure (e.g., as determined by a forceor pressure sensor secured to the catheter or other device), and/or anyother desired or required criteria.

In other embodiments, more or fewer (and/or different) criteria can beused as prerequisites in order to permit the catheter and/or othercomponent of a robotic assembly to be advanced (e.g., to the next step).

Regardless of the exact criteria that the system is configured toconsider before permitting the catheter or other device to advance, ifat any point at least one of the criteria is not satisfied (e.g., theforce or pressure along the distal end of the catheter exceeds aparticular threshold level), the system is configured to stop or preventfurther advancement of the catheter or other device. In someembodiments, under such circumstances when a criterion is not met, thesystem can be configured to even retract the catheter or other device bya predetermined distance.

In some embodiments, if one or more criteria are not satisfied, thesystem can be configured to reassess the situation, including obtainingnew imaging and processing of the same. Reassessment can include one ormore steps, including, without limitation, real-time non-contrastimaging (e.g., via extravascular imaging technologies (such as, forexample, X-ray, external ultrasound, etc.), via intravascular imagingtechnologies (such as, for example, imaging devices, sensor and/or otherfeatures located on the catheter, e.g., ultrasound located along thedistal end of the catheter), etc.), real-time contrast imaging (e.g.,manual or automated injection of a radiopaque contrast agent),road-mapping via data processing by the system (e.g., the use of acontrast image as a static backdrop which can be presented as a“roadmap” on a display while the catheter or other device is beingmanipulated), etc.

FIG. 5 illustrates one embodiment of an output showing the vasculatureof the subject through which a catheter can be advanced. In particular,FIG. 5 illustrates one or more examples of different zones of the aorticarch in which a surgical robot may initiate turning the instrument orcatheter tip to enter into a desired arch vessel. With reference to FIG.5, in some embodiments, once the catheter or other device of the roboticassembly approaches the origin of the next branch on the predeterminedpath, the tip of the catheter or other device can be configured toautomatically maneuver such that it faces the orifice of the next vesselpassageway. For example, if a catheter is required to enter theSubclavian Artery (Vessel 3 in FIG. 5), the catheter tip can be adjusted(e.g., by automatic manipulation of one or more motors of the roboticassembly) to face the origin of Vessel 3 within the purple zone. The tipcan be maneuvered to achieve the desired or required direction (e.g.,vis-à-vis the pathway predetermined by the system) by taking appropriateaction (e.g., rotating an instrument with a pre-curved tip, adjustingthe tip of an articulable catheter or other instrument, etc.), asdesired or required.

According to some embodiments, if a catheter or other device is movedinto a zone or area (e.g., vessel, vessel branch, etc.) that is not onthe desired path predetermined by the system, the system is configuredto automatically stop further progression of the catheter or otherdevice. In some embodiments, the catheter or other device is at leastpartially retracted under those circumstances. However, in otherembodiments, under such circumstances, the system can be configured tostop progression of the catheter and alert the practitioner. Thepractitioner can be prompted to decide what to do next (e.g., continueadvancing the catheter in conflict with the predetermined pathway, stopprogression of the catheter, retract the catheter, etc.).

As discussed above, a contrast injection (e.g., automatically ormanually administered) can be used to confirm the presence and locationof the filling defect (e.g., clot). In some embodiments, a wire and/or acatheter (e.g., a microcatheter) is the passed a predetermined distancedistal to the commencement of the clot.

In some embodiments, based on one or more confirmatory conditions (e.g.,the appearance of angiogram and CT scan), the system is adapted to makea decision on the nature of the intervention to be performed. In somearrangements, following the execution of the directed intervention(e.g., suction thrombolysis, stent retrieval, etc.), further contrastcan be injected to enable an automated assessment of the degree ofcerebral perfusion. Based on this assessment of reperfusion theprocedure can be terminated or repeated.

According to some embodiments, in cases involving mechanicalthrombectomy for LVO stroke treatments, the catheter can be configuredto follow an initial common path. One example of such a common pathincludes: the femoral artery to the external iliac artery to theabdominal/thoracic aorta to the aortic arch.

In some embodiments, the catheter is then directed by the system along anumber of directories depending on the location of the targeted clot.For example, in some embodiments, the number of directories is six(e.g., 3 on the right, 3 on the left). For example, in arrangementswhere the clot or other targeted location is in left middle cerebralartery (MCA), the pathway can be: aortic arch to left common carotid toleft internal carotid artery to the point of bifurcation to MCA.

According to other embodiments, where the clot or other targetedlocation is in the left anterior cerebral artery (ACA), the pathway canbe: aortic arch to left common carotid artery to left internal carotidto the point of bifurcation to ACA.

According to some configurations, where the clot or other targetedlocation is in the left vertebral artery (VA), the pathway can be:aortic arch to left subclavian artery to left vertebral artery.

Systems, Methods, and Devices for Assisted Teleoperation of RoboticEndovascular Intervention—General

As discussed in more detail herein, in some embodiments, the systems,devices, and methods described herein are configured to provide assistedteleoperation of robotic endovascular intervention. More specifically,in some embodiments, the systems, devices, and methods described hereinallow for a remotely located or on-site surgeon to control a surgicalrobot for endovascular intervention or other procedures related to thevasculature by providing input into a personal computer (PC), tablet PC,smartphone, and/or other electronic device. For example, in someembodiments, the system can be configured to obtain, access, and/oranalyze one or more medical images of the vasculature, such as, forexample, an x-ray image. In some embodiments, the system can beconfigured to cause the electronic device to display a lateral view ofthe vasculature based on such one or more medical images. In someembodiments, the system can be configured to use one or more contrastagents to further clarify an x-ray image. In some embodiments, a surgeoncan use his or her finger, a mouse click, a pen, or any other inputmethod to point at one or more waypoints along a desired pathway withinthe displayed vasculature for a tool to proceed. In some embodiments,based on such user input, the system can be configured to automatically,dynamically, and/or algorithmically calculate or determine a pathway forthe tool to proceed from one waypoint to another waypoint inputted bythe user and cause a surgical robot to advance the tool accordingly. Insome embodiments, the system can be configured to utilize one or moremachine learning and/or artificial intelligence algorithms to determinea pathway for the tool to advance from one waypoint to another waypoint.As such, in some embodiments, the system can be configured to provide anassisted, subtask automated, semi-autonomous, augmented, macro-level,and/or step-by-step navigation of a surgical tool within thevasculature.

In some embodiments, the system can be further configured to suggest anext movement within a vasculature and/or an intervention or proceduretherein. In some embodiments, the system can be configured to allow auser or surgeon to change or modify a suggested trajectory or pathwaydeveloped by the system. As such, in some embodiments, the system canallow a user or surgeon to verify, confirm, and/or modify one or moreparts of a trajectory or pathway determined by the system. In someembodiments, the system can be configured to learn from the surgeon'sconfirmation and/or modification of a pathway or trajectory suggested bythe system, thereby improving future suggested pathways and/ortrajectories. In other words, in some embodiments, the system can beconfigured to use one or more machine learning and/or artificialintelligence algorithms to determine initially a suggested pathway ortrajectory between two waypoints, and the system can further beconfigured to use one or more machine learning and/or artificialintelligence algorithms to improve such pathways or trajectories that itsuggests. In some embodiments, as the system improves or learns fromprior data, the distance between two waypoints inputted by the userwithin a vasculature can become more distant. In other words, in someembodiments, with stepwise input from a user, for example, in terms ofclosely located waypoints and/or confirmation or modification ofsuggested pathways between waypoints, the system can be configured toverify its performance and improve. As such, in some embodiments, thesurgeon or user can use and train the system at the same time.

In some embodiments, input of such waypoints or macro-level navigationcan be distinguishable from providing continuous user input. Asdescribed in more detail below, providing continuous user input along adesired pathway for a tool within the vasculature can requiresubstantial amounts of data to be transmitted from the user input deviceto the system and/or a surgical robot, thereby creating a number oftechnical issues for teleoperation such as lag, stability, trust levelsof the procedure, and/or the like. In contrast, in some embodiments, byproviding such assisted navigation of a tool within the vasculature, theamount of user input data necessary to be transmitted can besubstantially decreased, thereby solving such technical issues andmaking teleoperation possible.

At the same time, by allowing the user to provide waypoints along adesired trajectory or pathway, the system can be configured to operateat a high confidence level without requiring full knowledge orinformation of the environment by the system. For example, in someembodiments, if a user or surgeon provides one or more waypoints along adesired pathway along the vasculature, the system does not need to knowor determine by itself the whole mapping of the vasculature, which mayinclude bifurcations, turns, and/or the like. Rather, in someembodiments, the system can rely on the waypoints inputted by the userfor much of this information, while at the same time provide assisted orsubtask automated navigation between two waypoints.

In other words, in some embodiments, the systems, devices, and methodsdescribed herein are configured to provide task space control as opposedto actuation space control. More specifically, in some embodiments, thesystem is configured to allow a user to control a surgical robot throughthe domain which is most relevant to the task, for example bypinpointing one or more locations on a medical image or x-ray image,without a direct mapping of user control, for example between a joystickinput and movement of the actuators.

As such, in some embodiments, the systems, devices, and methodsdescribed herein can comprise and/or be directed to a control paradigmfor surgeons interacting with surgical robots, such as, for example, forteleoperation of robotic endovascular intervention. More specifically,in some embodiments, a surgeon can interact with a surgical robot, suchas one for endovascular intervention, by indicating one or more targetlocations on a displayed medical image, such as on a personal computer,laptop, tablet personal computer, or smartphone, for the surgical toolto reach.

In particular, in some embodiments, the system can be configured toreceive input from a surgeon that is remotely located from the surgicalrobot. In some embodiments, the input from the surgeon can comprise oneor more waypoints or targets along a desired pathway for a tool toproceed along a vessel, artery, and/or the like. In some embodiments,the system can be configured to receive macro-level direction orguidance from a surgeon, while the system can be further configured toaugment such user input to provide a semi-autonomous guidance system. Insome embodiments, the system can be configured to utilize one or moremachine learning and/or other algorithms to analyze one or more medicalimages of the endovascular network to automatically determine and guidethe tool through the endovascular network to reach the user-inputtedwaypoint or target. In some embodiments, the system can be configured toutilize one or more machine learning and/or other algorithms to identifythe location of a tool, such as a catheter, and/or suggest a nextmovement within an endovascular vessel.

In some embodiments, the surgeon may also interact with the robot bysuggesting one or more interventions and/or assessing the success of oneor more interventions. In some embodiments, the robot may run one ormore computer vision algorithms to detect the tool tip location and/ororientation. In some embodiments, the system uses one or more predefinedalgorithms, such as, for example, inverse kinematics, Jacobian, and/orthe like, and may include visual closed-loop control to move the tooltoward the target location.

In some embodiments, the system may be used in local and remoteteleoperation conditions. In some embodiments, this paradigm can enableremote teleoperation in particular by doing one or more of thefollowing: freeing the surgeon from a hardware-specific console,reducing training time, providing safeguards against unexpected networklatency, and/or warning the surgeon about unsafe actions.

In some embodiments, the systems, devices, and methods described hereinare configured to be used specifically for endovascular procedures byleveraging certain features specific to endovascular procedures. Forexample, in some embodiments, the systems, devices, and methodsdescribed herein are configured to utilize contrast opacified x-rayimages as input, which is generally unique to endovascular procedures.Also, in some embodiments, the systems, devices, and methods describedherein are configured to utilize two-dimensional (2D) images in only oneor two planes to navigate, which is generally possible for endovascularprocedures but not for navigation of general tissue as discussed herein.Moreover, in some embodiments, the clinical decisions made by the systemare unique to endovascular procedures, which can include for exampleperfusion analysis, deciding which interventions to perform, and/or thelike. Further, in some embodiments, the use of instrument positionand/or tip position as a safety feature is also unique to endovascularsurgery.

In addition, in some embodiments, the systems, devices, and methodsdescribed herein are configured to utilize the X-ray imaging modalitythat shows the 2D “map” or “roadmap” of the vasculature and/or anatomy.In some embodiments, the systems, devices, and methods described hereinare configured to solve the navigation of tools through the vasculatureand/or anatomy. As such, in some embodiments, user intent can bedistilled into points, lines, directions, and/or the like on this 2D mapfor the instrument to be guided through.

In contrast, for any extravascular surgical robotic procedure, such asthrough use of the Intuitive Da Vinci Surgical System, tissuemanipulation can be critical and complex. In such cases, the imageviewed through the camera may not provide enough features for the userto define their intent with clicks of a mouse or taps on the screen. Asa result, unlike some systems, devices, and methods described herein,these systems for extravascular robotic procedures rely on multi-degreeof freedom consoles for the user to express their intention.

In addition, for any surgical robotic endoscopic procedure, such asbronchoscopic, gastrointestinal, genitourinary, and/or the like, by useof, for example, the Auris Monarch Platform, navigation may be performedusing feedback from a distal camera. This can provide a view within thelumen, containing a small subset of the total anatomy the user willnavigate through. In such cases, the motion of the device can becharacterized as being “into” the image, rather than “across” the image.As such, in such cases, the user interface of a gaming controller withfirst-person shooter style controls can allow the user to intuitivelycontrol the advancement into the anatomy; however, selecting points on a2D image may lose the critical depth component that is required whenadvancing forward with these devices.

Furthermore, as discussed herein, the clinical value of performingendovascular procedures remotely can rely on the time-criticality of theemergency. To this end, some embodiments of the systems, devices, andmethods described herein and/or an interface thereof can enable remoteteleoperation to treat patients sooner and therefore improve outcomes.In contrast, most if not all other surgical robotic systems on themarket focus on elective procedures, for which remote teleoperationwould offer limited to no clinical benefit.

Systems, Methods, and Devices for Assisted Teleoperation of RoboticEndovascular Intervention—Additional Detail

As a non-limiting example, for a patient located three hours away, whoneeds a mechanical thrombectomy (MT), it can be important to have suchpatient undergo treatment there and then. Generally speaking,neurointerventionalists (NI) who perform MT are concentrated, and willlikely remain so, in large academic centers (for example, only in about2% US hospitals). Other specialties have shown a lack of willingness toperform MT for a number of reasons. This problem may be solved if an NIcould perform the procedure remotely by teleoperating a surgical robotin the hospital with the patient. However, there are currently varioustechnical shortcomings that do not allow for such teleoperation. Someembodiments described herein address such technical shortcomings to makeit safe, simple, and accessible for clinicians to guide and monitor aremote intervention.

As mentioned above, at the moment there are significant barriers toremote teleoperation, which may typically involve a remote cliniciansitting at a robotic console, using a joystick to control each movementof the catheter. From a safety perspective, one significant technicalproblem is that any risk of connectivity disruption may presentsignificant difficulties and potential safety risks when directlycontrolling the motors, which is the standard control methodology forall currently existing invasive surgical robots. Additionally, forvascular robots in particular, the surgeons must relearn how to performthe procedure with the robotic console, which is significantly differentthan the wires and catheters they learned to manipulate in theirtraining. When performing robotic intervention using a traditionalrobotic console, a treating team may need to spend 30 hours or morefamiliarizing themselves with the robot controls and console. Part ofthis may have to do with the existing vascular robots using pre-curvedwires, which are the more popular device for experienced NIs. Thesedevices, wire and sheath over wire, require a lot of jiggling, trial anderror, and back and forth. As a result, certain NIs take pride in their“touch,” which is hard to translate into the robotic console. Finally,currently existing consoles are expensive electromechanical systems thatwould strain the healthcare system to distribute in a meaningful waythat would affect time critical outcomes.

In contrast, some embodiments of the systems, devices, and methodsdescribed herein enable remote teleoperation of endovascular proceduresby augmenting the remote surgeon with AI-powered assistance. In otherwords, in some embodiments, remote teleoperation of endovascularprocedures is enabled by augmenting the remote surgeon with AI-poweredassistance. As such, in some embodiments, such assisted interfaces canincrease the safety and accessibility of these time critical procedures.

More specifically, in some embodiments, the interface for the remotespecialist comprises a generic personal computer (PC), tablet PC, orsmartphone, or other computing device that can stream one or morereal-time medical images, such as a chest x-ray image(s), from theremote operating room. In some embodiments, the one or more images maybe augmented with one or more highlights and/or other renderings,charts, and/or the like, for example, to show the specialist where thetool tip is, where key anatomies are, what configuration the tool is in,and/or the like.

In some embodiments, the system can be configured to use a lateraland/or frontal view x-ray image(s). In some embodiments, the system canbe configured to perform a two-dimension (2D)/three-dimension (3D)registration. For example, in some embodiments, the system can beconfigured to utilize a 3D pre-operative model of the vessel and overlayinformation from the same such that 2D input by a surgeon can beinterpreted relative to the 3D knowledge of the map. In someembodiments, the system can be configured to utilize such 3D informationto maintain a position of a tool at the middle of a blood vessel as itis advanced therethrough.

In contrast, in some embodiments, the system may not use any such 3Dinformation, for example from a 3D model of the vessel. Morespecifically, in some embodiments, the system can be used to guide acompliant and/or flexible tool within the vasculature, which can allowthe system to ignore or not consider 3D information as the tool willmostly comply with the environment as long as it is not exerting toomuch force.

In some embodiments, the systems, devices, and methods described hereinallow a remote specialist to define one or more points to navigate to(or agree/disagree with a suggested path), select an intervention (oragree/disagree with a suggested intervention), and/or assess the successof the intervention (or agree/disagree with a suggested assessment). Insome embodiments, this can increase safety by providing safeguardsagainst unexpected network latency, warning the surgeon about unsafeactions, and/or reducing procedural complexity and training time. Insome embodiments, it can also increase the accessibility of surgicalexpertise by freeing the surgeon from a traditional robotic console.

FIG. 6 illustrates an embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention. In some embodiments,the system comprises one or modules, including one or more modulesillustrated in FIG. 6. As illustrated in FIG. 6, in some embodiments, aremote surgeon, such as a neurointerventionist, may interact with apersonal computer (PC), tablet PC, or other electronic device tocommunicate the next target location for the tool top to advancetowards. In some embodiments, this command or user input is received bya surgical robot that is remotely located. In some embodiments, suchcommand or user input can also be displayed to surgical staff locatednext to the patient and/or the surgical robot. In some embodiments, thesurgical robot can acknowledge the command and communicate its plannedbehavior to the on-site surgical staff and/or remote surgeon.

In other words, in some embodiments, the system can be configured toallow a physician to interact with a surgical robotic system through agraphical interface on an electronic device, such as a personal computer(PC), tablet PC, smartphone, and/or other device. In some embodiments,the graphical interface may be viewed and interacted with on a pluralityof devices.

In some embodiments, a wired or wireless connection can be made betweenand/or among one or more of the electronic device, the surgical robot,and/or the imaging machine. In some embodiments, the images obtainedfrom the imaging machine are displayed on the electronic device throughthe graphical interface. In some embodiments, a computer visionalgorithm may detect and/or highlight the position and/or orientation ofthe surgical tool on the displayed image.

In some embodiments, the user may command the robot by selecting a pixeland/or region on the image. In some embodiments, the user may alsoindicate a desired orientation of the tool at that desired location. Insome embodiments, the selection may be executed through a mouse click,keyboard stroke, and/or touch on a touch sensitive display. In someembodiments, the system and/or software operating on the system can beconfigured to calculate the change in instrument configuration and/orchange in motor positions that may enable the instrument to reach thetarget location.

In some embodiments, the system and/or software operating on the systemmay display the action the robot will take and may ask for confirmationby the user or set of users before executing the action. In someembodiments, when the instrument reaches the target within a set errorthreshold as observed visually by the software or user, or if itdetermines that it cannot reach the target, it will notify the user. Inresponse, in some embodiments, the user may select a new targetlocation. At any point, in some embodiments, the user or users may senda command to stop all robot motion.

In some embodiments, the graphical interface may expose more directcontrol of the motors to the user(s). For example, in some embodiments,this may include the ability to jog each motor by a set amount. Further,in some embodiments, this may include the ability to drive the motor bya set velocity for a configurable amount of time, for example, while theuser holds a button.

In some embodiments, the software may suggest one or more targetlocations, which the user can accept or modify. In some embodiments, thesoftware may suggest one or more clinical decisions, such as which typeof intervention to try and/or the like. In some embodiments, thesoftware may report clinical indicators, such as perfusion analysis.

In some embodiments, the software may identify and store the location ofone or more blood vessels. In some embodiments, this information may beused to suggest target locations, improve the motion control algorithms,and/or warn the user of unsafe actions.

In some embodiments, the system and/or computer vision algorithm(s)operating on the system may include machine learning and/or deeplearning to identify the location and/or orientation of an instrument,such as for example a catheter. In some embodiments, the algorithms mayinclude one or more computer vision techniques to identify theinstrument location and/or orientation. In some embodiments, theinstrument may include specific radio-opaque markings to facilitate thevisual identification of the tool location and/or orientation. In someembodiments, the markings may be rings, dots, stripes, codes, barcodes,other polygons, and/or the like. As such, in some embodiments, thesystem can be configured to identify the location and/or orientation ofan instrument based on such markings.

In some embodiments, the system and/or software operating on the systemmay present the estimated three-dimensional (3D) shape of the surgicaltool to the physician. In some embodiments, the physician may be able tointeract with the 3D rendering to provide one or more commands to therobot. In some embodiments, the 3D shape may be overlaid on theregistered 3D scan of the anatomy and/or on a 2D medical image, such asan x-ray image.

In some embodiments, the systems, methods, and devices described hereinare advantageous in that they simplify and/or augment the user inputprocess, thereby making endovascular teleoperation using a surgicalrobot possible. In particular, in some embodiments, the systems,methods, and devices described herein allow for controlling a surgicalrobot through image and/or pixel-based commands or task space control.In some embodiments, such a novel technical feature that has never beenintroduced clinically can allow the surgeon to use a traditional PC,tablet, or other device rather than the expensive consoles built by thesurgical robotics manufacturers. In addition, in some embodiments, thiscan also reduce associated costs, thereby increasing the accessibilityof remote control. Further, in some embodiments, this can reducetraining time through an intuitive control paradigm that is consistentwith standard surgical training.

Moreover, in some embodiments, the systems, methods, and devicesdescribed herein are advantageous in that they comprise the necessaryalgorithm(s), user interface(s), and/or model(s) to provide animage-based and/or fully image-based user interaction and/or controlsystem. In some embodiments, image-based commands are an abstractionthat requires image-based understanding by the robotic system. As such,in some embodiments, the system may comprise a computer vision algorithmthat detects the tool tip and orientation. In some embodiments, thesystem may comprise an option for the user to manually identify the tooltip and/or orientation. In some embodiments, the system may include ananalytical or learned kinematic model of the instrument and the roboticinterface.

In addition, in some embodiments, the systems, methods, and devicesdescribed herein are advantageous in that image-based commands are lesssensitive to unexpected lag times in the communication between theremote controller and the robot. This can be because the commands arediscrete steps rather than continuous updates. In other words, in someembodiments, the system can be configured to provide and/or allow forstep-by-step navigation. For example, in some embodiments, the user canprovide one or more macro directions (as opposed to micro directions),one or more waypoints, or stepping stones along a desired pathway, andthe system can be configured to augment such user input to providesemi-autonomous navigation that does not require continuous user input.

Further, in some embodiments, the system or software operating on thesystem can suggest commands through the same interface, which the remotesurgeon can accept or modify as they see fit.

Furthermore, in some embodiments, the system or software operating onthe system may provide an assessment of whether or not instruments aresafely positioned based whether or not they have deviated from apredefined path, their appearance (bowing of the body, scrambled tip),force/friction measurement, and/or the like.

In some embodiments, the system or software operating on the system mayenable a remotely located person to: observe a predefined path or definea path to be followed; monitor/confirm a suggested intervention orsuggest an intervention; and/or monitor/confirm procedurecompleteness/reperfusion or suggest procedure completeness/reperfusion.

FIG. 7A illustrates an embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention. As illustrated inFIG. 7A, in some embodiments, a user interface (UI) communicates withnearly every module or one or more modules in the robot control loop,allowing for system behavior spanning from direct control by the user tonearly full autonomy. In the illustrated embodiment(s), the systemmodules are shown as black boxes, algorithms within modules are blue,information flow is shown as arrows with the information content shownin red next to each arrow. In some embodiments, the autonomous loop mayor may not exist, and in some embodiments, this is regulated by the uservia the UI. The embodiment(s) illustrated in FIG. 7A demonstrates howthe system, in some embodiments, would enable image space control anddirect motor control. In some embodiments, machine learning algorithmsmay assist in the subtasks contained in the Navigation module, whichwould supply potential waypoint, tool tip and orientation, vessellocation, and/or other information to the UI to be displayed to theuser.

FIG. 7B illustrates another embodiment(s) of a system and/or method forteleoperation of robotic endovascular intervention. In particular, FIG.7B illustrates an example information flow between a local operatingroom (e.g., where the patient is located) and a remote location (e.g.,where the remotely-located physician performing the procedure islocated). The remotely-located physician is able to generate motioncommands that can be sent to and/executed by robot hardware located atthe local site. Information from the local site is collected andcommunicated back to the remotely-located physician.

As shown in the example of FIG. 7B, at the beginning of a cycle, images(e.g., X-ray image(s)) that contain the catheter tip can be collected ofthe patient using x-ray hardware or other imaging devices. These imagesare processed, which can include performing localization steps toidentify the position and/or orientation of, for example, a distal tipof the catheter in the image. This positional information along with oneor more images, for example, the most recent image is sent to the remoteinterface (e.g., the device that the physician is using to control theprocedure).

In some embodiments, the physician can then confirm the that the currentcatheter tip location and/or orientation is in a safe pose to continuethe operation, and select either a path to move along or direct controlof the catheter pose. As shown in FIG. 7B, these commands can be sentback to the local system where they may, in some embodiments, beconfirmed again by a local operator.

Motion planning algorithms in the navigation module may determine themost appropriate catheter motions in order to move the tip along thedesired path, or convert direct motion commands into pose updates. Thenavigation module may also supply potential waypoint, tool tip andorientation, vessel location, and/or other information to the UI (e.g.,the remote UI) to be displayed to the user. The new catheter pose canthen be sent along to the robotic hardware which will move the catheterhardware. This control loop cycle can then be verified and/or repeatedby using the x-ray hardware to detect this motion.

Notably, in some embodiments, the system uses the current tip locationin the navigation algorithms. This can allow embodiments in which anautonomous loop exists regulated by the user via the UI.

Example Use and User Control

In some embodiments, the systems, devices, and methods described hereincan be configured to allow a user to control a remote surgical devicethrough image space control and/or direct motor control. In someembodiments, for image space control, the user or specialist can selecta next region on a displayed medical image for the tool tip to navigatetowards. In some embodiments, the radius of the region and the distancethe region can be placed relative to the tool tip depends on thecapabilities of the system. In some embodiments, the tool tip, theacceptable region for the next way point, and the selected way pointwould be highlighted. In some embodiments, once selected, the interfacecan display the expected sequence of motions the robot will execute anda progress bar for this action. As discussed in further detail herein,in some embodiments, the robot may use open loop or closed loop controlfor these navigation subtasks. In some embodiments, the system can beconfigured to suggest one or more way points based on its analysis ofthe image that can be edited by the user. In some embodiments, thesystem may provide ease of use tools, such as auto adjusting way pointsto the center of the relevant vessel. In some embodiments, image spacecontrol can be main control methodology.

In addition and/or alternatively, in some embodiments, the system can beconfigured to allow a user or specialist to directly interface with themotors through direct motor control. While more difficult to use thanimage space control, this can provide a safety mechanism for the user insome embodiments. For example, in some embodiments, if the user does notagree with the robot's approach to the next way point in image spacecontrol, the user can exert explicit control. This may be represented inone or more of many different interfaces, such as for examplearrows/buttons that move each motor at set slow speed while you hold thebutton down, or a combination of sliders and/or dials that directly mapto the position of each motor, or a rendering of the tool and itsdegrees of freedom that can be dragged into different configurations. Ineach iteration, in some embodiments, the user can exert direct,real-time control over the actuators. However, while a useful safetymechanism, it can be burdensome to use for extended periods given thenecessary feedback frequency for such a task.

In some embodiments, the system can also comprise an emergency stopbutton to cease all motor movement.

In some embodiments, all or a subset of these controls can be exposed tothe remote user and/or to the on-premise staff. In other words, in someembodiments, the system can be configured to provide a collaborativeteleoperative interface that enables collaboration over great distances.

In some embodiments, to use the systems, devices, and methods describedherein for an endovascular procedure, an on-site clinician or medicalpersonnel can dock and mount a surgical robot for the endovascularprocedure. In some embodiments, arterial access can be achieved via ahuman, such as an on-site clinician or medical personnel. In someembodiments, arterial access can be achieved by a robot with computervision. In some embodiments, sheath can be inserted and connected to therobot, a first contrast can be injected, and/or a generating a roadmapof the vasculature can be initiated. In some embodiments, a physician,who can be on-site or remotely located, can identify on a remote consolethe next point or realign a set of predefined points. For example, insome embodiments, the physician can use a mouse click, pen tap, fingertap, and/or the like to input on a user device, such as a generic PC ortablet PC, one or more points for traveling the tool. In someembodiments, a radius of error can appear around the point inputted bythe physician and/or the tip of the instrument or tool. In someembodiments, upon navigation to each point, a new contrast injection mayor may not be triggered. In some embodiments, in addition to navigation,the system can provide suggested treatments, resolution of pathology,and/or the like that the physician may modify and/or confirm.

Navigation

As discussed throughout this disclosure, in some embodiments, thesystems, devices, and methods described herein can comprise and/or beconfigured to provide image space control. To provide image spacecontrol, in some embodiments, the system can be configured to identifythe tool tip location, for example, in real-time or substantiallyreal-time. In some embodiments, the system can be configured to identifythe tool tip orientation, for example, in real-time or substantiallyreal-time. In some embodiments, the user may perform this identificationand/or an algorithm may perform the identification of the tool tiplocation and/or orientation.

In some embodiments, the tool tip location and/or orientation may bedisplayed as a highlighted circle, oval, arrow, body segmentation of thetool, and/or any other visual graphic. In some embodiments, theinformation may be used by the user to determine the next way point andby the instrument control algorithm to determine the path the robotneeds to take to the next way point. In some embodiments, thisinformation may help determine the validity of the next way point basedon distance in image space or other features such as continuous vesselaccess.

In some embodiments, the system can be configured to utilize one or moreof machine learning algorithms to determine the location and/ororientation of a tool tip. Some of such example machine learningalgorithms can include: pixel segmentation (ex architecture: UNet, exloss: jaccard loss); bounding box (ex architecture: RetinaNet, ex loss:intersection over union loss); regression (ex architecture: ResNet, exloss: Euclidean distance [L2]), and/or the like.

Additionally, in some embodiments, the tools can be modified with radioopaque markings that would improve their visibility in the image. Forexample, markings on the articulating section may include rings, dots,other polygons or shapes, and/or other coded information. In someembodiments, these markings can be identified with template matchingalgorithms, finding contours, and/or the like. In some embodiments,these markings may also be identified using one or more machine learningalgorithms, such as any of those discussed herein.

As a safety feature, in some embodiments, the user may override thesystem-predicted position and/or orientation of the tool tip. In someembodiments, the orientation of the device can be determined from theorientation of the segmentation (oval rather than circle, orsegmentation of body length), bounding box (use two, one on tip to bodypoint predefined distance before, other on tip and predefined distanceahead of tip; can use padding on points to prevent zero, but limitsresolution), can regress the orientation or classify it to discreteangles. In some embodiments of segmenting the device, a segmentationnetwork such as U-Net may be used to generate a specific shape, such asan oval, circle, or other shape, on the tip of the device. In someembodiments, the centroid of the segmented pixels could indicate the tiplocation or a separate segmentation could be leveraged to distinguishthe tip location. As a non-exhaustive list, the orientation could bedetermined by the singular value decomposition (SVD), RANSAC, leastspares, or an ellipse could be fit to the contour. In embodiments of abounding box, a single box can leave ambiguity about the direction ofthe tool tip; however, in some embodiments, two boxes can alleviate thatambiguity. In some embodiments, one box can be centered on the tip or itcan locate one corner to the tip with the opposite corner a set numberof pixels along the body behind it. In some embodiments, the second boxcan locate one corner to the tip as well with opposite corner a setnumber of pixels beyond the top extending in the direction of the tip.In some embodiments, a minimum width and/or height can be set to avoidhorizontal and/or vertical edge cases. In embodiments of regressing thetip position and/or orientation, an L2 norm loss or any variant of adistance-based metric, such as cosine distance for orientation, could beused to estimate the pixel location and angle of the tip. In someembodiments, the position and/or orientation could be discretized suchthat the problem could be cast as a classification problem which wouldleverage a cross entropy loss or other probabilistic loss formisclassification.

In some embodiments, the system can be configured to utilize one or moremachine learning algorithms, such as the ones discussed herein, inisolation and/or in conjunction with others, for example, to improverobustness.

In some embodiments, the system can be configured to utilize one or morevessel detection algorithms. In some embodiments, use of a vesseldetection algorithm may improve the user experience and/or may offersafety advantages while controlling the instruments. In someembodiments, one or more vessels may be shown in stages according to thealgorithm sophistication, including for example: none highlighted,general highlighting of relevant vessels, and/or specific highlightingbased on anatomical classification. In some embodiments, the vesseldetection may influence the behavior of the clinician's way pointselection. In some embodiments, the user may select any point, or pointsmay be limited to vessels, or points may be limited to vesselcenterlines, or points may be limited to vessel centerlines on thepredefined path. In some embodiments, the vessel detection may alsoinform the system or software's suggested way points. In someembodiments, it may suggest points on the centerlines of the vessels onthe predefined path.

In some embodiments, vessel detection by the system can be sufficientlyaccurate to suggest way points for the entire procedure. In someembodiments, the system can be configured to utilize one or moreadditional statistical or rules-based algorithms, for example todetermine the optimal intervention and/or to determine if theintervention was successful throughout the entire procedure or a portionthereof.

Motion Planning/Instrument Control

In some embodiments, the systems, devices, and methods described hereincan comprise and/or be configured to utilize one or more motion planningand/or instrument control algorithms. In particular, in someembodiments, the system can comprise and/or be configured to utilize oneor more algorithms that calculate how the instrument configurationand/or motor positions should change to move towards the target in imagespace.

In some embodiments, the system can comprise and/or be configured toutilize one or more of inverse kinematics, Jacobian, and/or otheralgorithms for instrument control in isolation or in combination.

In some embodiments, the orientation of the x-ray imaging system isknown relative to the axis along with the device rotates. In someembodiments, this can simplify the 3D control of the catheter to a 2Dproblem by aligning the device rotation such that the articulation movespredominately in the visible plane. In some embodiments, this plane canbe determined by rotating the device and identifying the rotation atwhich maximum displacement of the tip is observed from the catheterbody. In some embodiments, once the device is in the plane, the controlscan focus primarily on the insertion and articulation degrees offreedom, which can be better suited for the 2D input space. In someembodiments, a second imaging plane may be used to determine a plane forarticulation between with set imaging plane. In some embodiments, a 3Dpreoperative scan may be used to calculate the optimal articulationplanes along the path to the target anatomy. In some embodiments, as thedevice inserts through the anatomy, it may update the articulation planeaccording to the preplanned optimal planes.

For inverse kinematics, in some embodiments, the system can beconfigured to utilize as inputs one or more of: pixel estimate of thetool tip; estimate of the tool tip's orientation in the image plane; waypoint pixel location; actuator positions of device rotation andactuation; kinematic model of the instrument (part of function); and/orthe like. Optionally, for inverse kinematics, in some embodiments, thesystem can be configured to utilize as inputs one or more of: vesselboundaries in image plane; pixel estimates of tool position, toolorientation, and/or way point position in second image plane (e.g., alateral view); registered 3D reconstruction of the anatomy; and/or thelike.

Further, for inverse kinematics, in some embodiments, the system can beconfigured to utilize as outputs one or more of: desired motor positionsfor each of the actuators; change in motor positions; desired instrumentconfiguration; and/or the like.

Generally speaking, forward kinematics maps motor positions to theexpected position and orientation of the tool tip, while inversekinematics does the reverse. In some embodiments, with simplearticulated catheters, these functions can be analytically derived forsimplified models. In some embodiments, this function is also configuredto handle the conversion between image space (px for pixels below) andEuclidean space (standard xyz). For example, when there are two imagingplanes and known camera calibrations, there is a one to one mappingbetween image space and Euclidean space. In some embodiments, thefunction can therefore convert the pixel information to Euclidean spacebefore determining the desired motor positions. When there is only oneimaging plane, there is a loss of information from Euclidean space toimage space. In some embodiments, the simplifying assumptions of apreset depth and an instrument grounding on the patient bedside can beused to estimate the transformation from pixel space back to Euclideanspace before the standard inverse kinematics can be used. Also, in someembodiments, the transformation from desired tip position to observedtip position is applied to the expected tip position, resulting in arelative desired tip position. This can mitigate some of the risk of theinverse kinematics being unable to reach an absolute position due tomodelling errors.

Provided below is an example of pseudo code for inverse kinematics insingle plane and dual plane:

def motion_planner_inv_kin (position_measured, heading_measured,incline_measured, position_desired, incline_desired, heading_set,incline_set, body_pts_measured): # compare desired to measured d_px =position_desired - position_measured heading_desired = atan2(d_px[1],d_px[0]) change_in_heading = heading_desired - heading_measuredchange_in_incline = incline_desired - incline_measured # update setvalues based on change required heading_new = heading_set +change_in_heading incline_new = incline_set + change_in_incline #insertion based on angled changes insert_new =calculate_ins(change_in_heading, change_in_incline, body_pts_measured) #convert joint positions to motor positions desired_motor_positions =inverse_kinematics(insert_new,      heading_new,      incline_new)return desired_motor_positions

Similarly, for Jacobian, in some embodiments, the system can beconfigured to utilize as inputs one or more of: pixel estimate of thetool tip; estimate of the tool tip's orientation in the image plane; waypoint pixel location; actuator positions of device rotation andactuation; kinematic model of the instrument (part of function); and/orthe like. Optionally, for inverse kinematics, in some embodiments, thesystem can be configured to utilize as inputs one or more of: vesselboundaries in image plane; pixel estimates of tool position, toolorientation, and/or way point position in second image plane (i.e.lateral view); registered 3D reconstruction of the anatomy; and/or thelike.

Further, for Jacobian, in some embodiments, the system can be configuredto utilize as outputs one or more of: desired motor positions for eachof the actuators; change in motor positions; desired instrumentconfiguration; and/or the like.

Generally speaking, the Jacobian is the derivative of the forwardkinematics. When inverted, it provides a locally linear approximation tothe inverse kinematics. In some embodiments, the system can beconfigured to iteratively calculate Jacobian to frequently update thelocally linear approximation. In some embodiments, Jacobian behavessimilarly as the inverse kinematics method above with respect to singleand dual plane information. In some embodiments, with dual plane,Jacobian can convert the pixel information to Euclidean space, then usenormal Jacobian inverse to get the desired change in motor positions. Insome embodiments, in a single plane, Jacobian itself can include thepixel space to Euclidean space conversion as it can be approximated as alinear transformation.

Provided below is an example of pseudo code for Jacobian in single planeand dual plane:

def jacobian_px_single_plane (px_position, px_orientation, px_desired,motor_positions): # desired_px in tip frame px_desired_tf =Rz(px_orientation) * (px_desired - px_position) # J_p = dp/dx * dx/du #p(x) = 1/s K x # assumes similar (1/s) terms for x_1 and x_2 # K iscamera perspective matrix # J is standard jacobian dx/du J_px = (1 /s) * K * J return motor_positions + psuedoinv(J_px) * px_desired_tf defjacobian_px_dual_plane (px_position_xy, px_orientation_xy,px_desired_xy, px_position_zy, px_orientation_zy, px_desired_zy,motor_positions): tip_desired = inverse_persepective(px_desired_xy,px_desired_zy) estimated_tip_position, estimated_tip_orientation =inverse_persepective(  px_position_xy, px_orientation_xy,px_position_zy, px_orientation_zy) # desired_px in tip frameT_estimated_to_desired = get_transformation(  tip_desired,estimated_tip_position, estimated_tip_orientation) # get translationoffset only delta_tip_desired = T_estimated_to_desired[:3, 3] # J isstandard jacobian dx/du return motor_positions + psuedoinv(J) *delta_tip_desired

Control Loop(s)

In some embodiments, each or some of the instrument control methods oralgorithms, such as, for example, inverse kinematics, Jacobian, and/orothers, may provide changes in motor position that may only be valid fora small distance. As such, to remain on track, the instrument controlmethod(s) or algorithm(s) may need be updated with new feedback aboutthe updated position and orientation of the tool. In some embodiments,the system may rely on human input to close this loop (open loop), orthe system can be configured to close this loop itself (closed loop).

FIGS. 8A, 8B, 9A and 9B each illustrate example embodiments of a controlloop for teleoperation of robotic endovascular intervention. In someembodiments, when the px estimate of the tool tip is within a predefinedradius of the way point, it stops, until a new way point is selected.More specifically, FIG. 8A illustrates an example control loop in whichthe motion control algorithm requires user feedback at every step, whichcan be referred to as an open loop control. FIG. 8B shows a control loopin which the user is involved it each iteration of the loop. In thisexample, image and tip information from the patient and localization areshown to the user, who then confirms their validity and indicates thenext desired move.

FIG. 9A illustrates an example control loop in which the motion controlalgorithm does not require user feedback at every step. In the exampleembodiment illustrated in FIG. 9A, the system recalculates the motorcommands with every update of the surgical tool location. In someembodiments as the one illustrated in FIG. 9A, the user may introducenew desired way points to update the motion control calculations. FIG.9B illustrates an example control loop in which the motion controlalgorithm does not require user feedback at every step. In thisembodiment, local tip information is used to recalculate the motorcommands with every step. At a slower rate, the user can be asked toverify and/or change the plan that is being executed. In someembodiments, the control loops of FIGS. 8B and 9B can be implemented,for example, on or by the system of FIG. 7B.

Applications

In some embodiments, the systems, devices, and methods described hereincan be used for one or more endovascular purposes, surgeries, and/ortreatments. For example, in some embodiments, the systems, processes,and methods described herein can be used for one or more of removal ofintravascular blockage/Reestablishment of perfusion; treatment of vesselwall injury (aneurysm and/or dissection); treatment of bleeding:aneurysm rupture/trauma; and/or the like. Moreover, in some embodiments,the systems, devices, and methods described herein can be used to treatvascular trauma.

In some embodiments, the systems, devices, and methods described hereincan be used for neurovascular applications and/or treatments, such asfor example to treat subarachnoid hemorrhage, aneurysm, arteriovenousmalformation, and/or the like. In some embodiments, the systems,devices, and methods described herein can be used for cardiovascularapplications and/or treatments, such as for example to treat myocardialinfarction, coronary artery disease, pacemaker insertion, and/or thelike. In some embodiments, the systems, devices, and methods describedherein can be used for aortic applications and/or treatments, such asfor example to treat aortic dissection, aortic aneurysm, and/or thelike. In some embodiments, the systems, devices, and methods describedherein can be used for peripheral emboli applications and/or treatments.In some embodiments, the systems, devices, and methods described hereincan be used for vascular trauma applications and/or treatments. In someembodiments, the systems, devices, and methods described herein can beused for venous applications and/or treatments, such as for example totreat pulmonary embolism, deep vein thrombosis, and/or the like.

Image Space Control—Vessel Centerline Extraction and PathAuto-Generation

In some embodiments, the system can be configured to extract one or morevessel centerlines from a medical image, such as an x-ray image, and/orautomatically and/or dynamically generate a recommend path from thecurrent location of the catheter to the desired location based at leastin part on the extracted one or more vessel centerlines.

In particular, in some embodiments, a key component of image spacecontrol of catheters in arterial vessels or other vasculature cancomprise identifying the path between the current catheter location andthe final desired location. For example, FIG. 11 illustrates anembodiment(s) of image space control of a system and/or method forrobotic endovascular intervention as applied to an example vasculature.In the example illustrated in FIG. 11, the goal of the user is to moveto catheter, the distal tip of which is identified by the orange circle,to the goal location, which is depicted by the cyan diamond.

In some embodiments, the system can be configured to allow a user tospecify a desired path from the location of the catheter to the goallocation. In some embodiments, the system can be configured to provideassistance to the user in delineating the path from the location of thecatheter to the goal location. That way, in some embodiments, the systemcan make the process of image space control safer and/or simpler. Insome embodiments, for the system to generate this path, it mustunderstand the anatomy, such as, for example, the anatomy relating tothe vasculature. In some embodiments, the system requires some criticalanatomical information for path planning as described in more detailherein. Further, in some embodiments, the system is configured todynamically extract certain anatomical information from sensor readings.In some embodiments, the extracted anatomical information can be used bythe image space controller for path planning.

In particular, in some embodiments, the system can comprise and/or beconfigured to access certain information related to the relevantvasculature in assisting the user to find an anatomically feasible pathfrom the catheter location to the goal location. In some embodiments,such information or data can be stored on a local and/or remote databasethat is accessible by the system.

FIG. 12 illustrates an example image of a vasculature and relevantanatomical information that can be used by an embodiment(s) of a systemand/or method for robotic endovascular intervention. As illustrated inthe example of FIG. 12, in some embodiments, the relevant vasculaturecan include the internal carotid artery (ICA), which branches into theanterior cerebral artery (ACA) and the middle cerebral artery (MCA).

In the illustrated example of FIG. 12, in some embodiments, theinformation or data related to the relevant vasculature accessed by thesystem can include one or more centerlines along the vasculature, suchas for example centerlines of the ICA, ACA, and/or MCA. The centerlinescan be, for example, paths or sequences of points along the middle of avessel. In some embodiments, the centerlines can implicitly provideinformation to the system about vessel junctions or where vesselscoincide. In some embodiments, the width of the vessels is not requiredfor image space control by the system, and therefore the system can beconfigured to ignore or not analyze width information in generating apathway. In some embodiments, the system can be configured to analyzewidth information in generating a path. In some embodiments,

In some embodiments, in order to extract the vasculature information,the system can be configured to identify from the sensor readings one ormore vessel centerlines, such as for example centerlines of the ICA,ACA, and/or MCA in the illustrated example of FIG. 12 and/or any othervessel. In some embodiments, the sensor readings can comprise anymedical image, such as for example an x-ray image, MRI, CT, and/or thelike. In some embodiments, the system can be configured to utilize afunction ƒ(x)→y to map one or more input medical images (x), such as anx-ray image, to one or more vessel centerlines (y).

The system can be configured to utilize one or more functions todetermine the centerline of vessels. For example, in some embodiments,the system can comprise and/or be configured to access code withpre-defined rules for identifying centerlines, such as for examplecenterlines of the ICA, ACA, MCA and/or any other vessel. In someembodiments, the system can comprise and/or be configured to utilize oneor more machine learning algorithms to automatically and/or dynamicallyidentify one or more vessel centerlines from medical image data. Amachine learning approach can be advantageous in that the system may beable to learn non-trivial statistical patterns directly from the dataitself, thereby allowing the system to identify vessel centerlinesdespite the high variation and ambiguity in medical images, such as forexample x-ray images.

As such, in some embodiments, the system can be configured to utilizeone or more machine learning algorithms or models to learn the functionθ_(θ), in which the system is configured to automatically learn theparameters θ from data, such as for example medical image data.

In particular, in some embodiments, the system can be configured toutilize one or more deep neural networks. Deep neural networks can beadvantageous in some instances due to the fact that the inputs (such asx-ray images) and the outputs (such as labeled centerlines orcenterlines) can be high dimensional. In some embodiments, the systemcan be configured to utilize one or more convolutional neural networks(CNNs) to automatically and/or dynamically identify vessel centerlinesfrom an input medical image, because the input modality is an image.

In some embodiments, the machine learning model, such as a CNN, can beconfigured to directly output labeled centerlines. In some embodiments,the machine learning model, such as a CNN, can be configured to outputone or more intermediary outputs rather than directly outputting labeledcenterlines. In some embodiments, such intermediary or indirect approachcan be advantageous, because each centerline can have a different numberof constituent points and CNNs or other machine learning algorithms maynot easily cope with outputs with varying dimensions. As such, in someembodiments, the system can be configured to utilize one or more CNNs orother machine learning algorithms, in which the one or more CNNs orother machine learning algorithms can be configured to predict L+1images, where each image can correspond to a specific vessel label (suchas ICA, ACA, MCA, and/or the like) and each pixel in that image cancorrespond to the probability that that pixel in the medical image (suchas an x-ray image) contains a vessel of that label. By utilizing suchformulation, in some embodiments, the one or more CNNs or other machinelearning models only need to deal with a fixed-dimensional output, whichcan be easier to handle. In some embodiments, the system can beconfigured to utilize one or more such formulations or otherarchitecture for semantic segmentation, which can be configured topredict a corresponding label of each pixel in a medical image given aninput medical image. For example, in some embodiments, the system can beconfigured to utilize a U-Net CNN, such as the one illustrated in FIG.13.

In some embodiments, the system can be configured to first train amachine learning model, such as a CNN, to predict vessel segmentationss. In some embodiments, the machine learning model can be trained usinga plurality of labeled vessel segmentations. More specifically, in someembodiments, the system can be configured to convert one or more labeledcenterlines y into segmentations s. That way, in some embodiments, thecenterlines can be converted into lines of a fixed width. In someembodiments, the system can then label the corresponding pixels whichoverlap with such lines.

In some embodiments, given the input images x and vessel segmentationimages s, the system can be configured to train the neural networkparameters θ by minimizing the distance between the ground truthsegmentations s and the predicted neural network segmentations ŝ, asdepicted by:

${\min\limits_{\theta}{\sum\limits_{({x,s})}{{{distance}\left( {\hat{s},s} \right)}\text{:}\;\hat{s}}}} = {f_{\theta}(x)}$

In some embodiments, the above-identified minimization is performedusing minibatch stochastic gradient descent.

In some embodiments, the system can be configured to map the inputtedx-ray image x to the predicted labeled vessel centerlines ŷ. In someembodiments, the system can be configured to utilize one or more neuralnetworks or other machine learning algorithms to map the x-ray image tothe predicted segmentation: ƒ_(θ)(x)→ŝ. In some embodiments, the systemis further configured to convert the predicted segmentation ŝ into thelabeled vessel centerlines ŷ. For example, in some embodiments, thesystem is configured to utilize a skeletonization algorithm to find oneor more centerlines in the segmentation image.

In some embodiments, the system is configured to receive user input thatspecifies the path from the current catheter location to the goallocation. For example, in some embodiments, the user can click on asequence of points on a user interface displaying a medical image of thevasculature, in which the sequence points can start at the currentlocation of the catheter and end at the desired goal location.

In some embodiments, the system can be configured to streamline thisprocess by complete and/or partial automation as described herein. Insome embodiments, the system can be configured to identify and/or deriveone or more labeled vessel centerlines using one or more techniquesdescribed herein, such as for example by utilizing one or more x-rayimages or other medical images of a subject and/or one or more trainedneural networks or other machine learning algorithms. In someembodiments, the system can be configured to utilize such centerlines toaid and/or automate the path generation process.

In particular, in some embodiments, the system can be configured toassist the user in placing one or more waypoints, for example using thesystem's knowledge of one or more vessel centerlines. More specifically,in some embodiments, as the user specifies the path on a user interfaceby clicking on a sequence of points, for example on a displayed medicalimage of the vasculature, the system can be configured to automatically“snap” the user's click points onto the vessel centerline or otherwiserequire or ensure that the user inputted points are on the vesselcenterline. In some embodiments, such automatic snapping can have atleast two advantages. First, in some embodiments, automatic snapping orotherwise requiring the user-inputted points to be on the vesselcenterline can increase the safety of the system by ensuring thecatheter does not attempt to move outside of a vessel. Second, in someembodiments, automatic snapping or otherwise requiring the user-inputtedpoints to be on the vessel centerline can enable the user to morequickly specify the path because the user-inputted points do not allhave to be as precise.

In some embodiments, the system can be configured to automaticallyand/or dynamically propose to the user via a user interface one or moresubsequent points or waypoints on the path to click on. In someembodiments, in addition to the advantages listed above, this approachcan also have the added advantage of decreasing the cognitive load ofthe user, especially if the doctor or user is remotely located.

In some embodiments, the system can be configured to automaticallyand/or dynamically generate the path from the current location of thecatheter to the goal location. As such, in some embodiments, the systemcan be configured to provide autonomous path generation forimplementation of an autonomous catheter robot. In particular, in someembodiments, the system can utilize data and/or knowledge of the labeledvessel centerlines to automatically generate the path to the goallocation. In some embodiments, the system can be configured to receive adesired goal location of the catheter from user. As a non-limitingexample, a doctor may examine a CT scan or other medical image of astroke patient and determine that a clot is in the left MCA and select alocation in the left MCA as the desired goal location on a userinterface.

In some embodiments, the system can determine the sequence of vesselsthe catheter must navigate through based at least in part on the currentcatheter location and the goal location. In order to determine thesequence of vessels, in some embodiments, the system can be configuredto utilize a hand-specified roadmap of the vessel anatomy, which caninclude data or information relating to which vessels are adjacent toone another. In some embodiments, using this roadmap, the system candetermine which vessels it should navigate through to reach the goal.

FIG. 14 illustrates an example vessel roadmap that can be used by anembodiment(s) of a system and/or method for robotic endovascularintervention. In the example illustrated in FIG. 14, each colored circlecorresponds to a specific vessel. In some embodiments, many or mostvessel roadmaps will be the same and/or will include similar featuresbetween different patients. In some embodiments, there can be someanatomical differences among vessel roadmaps of different people, suchas for example the branching at the aorta among others. In someembodiments, the system can be configured to analyze subjects withspecific vessel roadmaps that are pre-screened or pre-identified. Insome embodiments, the system can be configured to automatically analyzeand/or identify subjects with varying vessel roadmaps and/or featuresthereof.

In some embodiments, the system can be configured to automaticallyand/or dynamically generate a path from the current catheter location tothe desired goal location using one or more vessel roadmaps, which canbe patient specific and/or generally applicable. In particular, in someembodiments, the system can be configured to determine the currentlocation of a catheter based on an input medical image, such as an x-rayimage of the vasculature. In some embodiments, the system can also beconfigured to identify and/or generate one or more labeled vesselcenterlines based on the input medical image, for example using atrained neural network or other algorithm. In some embodiments, thesystem can determine which vessel the catheter is currently in. In someembodiments, using this vessel label as the starting point, the systemcan be configured to determine what subsequent vessels the cathetershould navigate through using the roadmap. In some embodiments, thesystem can be configured to combine these planned subsequent vessels toform a single list of one or more waypoints, which the catheter willfollow to reach the goal location. In some embodiments, this procedureor technique or one or more processes thereof can be constantlyperformed throughout the surgery until the catheter successfully reachesthe goal location. In some embodiments, to account for any unseencomplications, the system can be configured to allow a user to manuallyspecify and/or modify the desired path and/or one or more waypointsalong the desired path.

Safety System(s) and Method(s): Confirmation, Heartbeat, and DataIntegrity and Clinical Monitoring

As noted previously, the systems, methods, and devices described hereincan be configured to perform teleoperation of robotic endovascularintervention where a remotely-located physician controls a roboticsystem that is local to the patient. Communication between theremotely-located physician and the robotic system can occur over acomputer network, such as the internet, for example. Accordingly, it canbe important to ensure that data pathways between the various componentsof the system (e.g., the remote and local components) are flowing in atimely manner in order in ensure that the system can be operated safely.As described in this section, in some embodiments, a primary mechanismfor safety of the system can include a series of methods configured toverify that each piece of the system is operational and the datapathways are flowing in a timely manner. In this section, this series ofmethods is broken into three categories that each address differentaspects of the system. The categories can include confirmation,heartbeat, and data integrity, each of which are discussed in moredetail below. Although these three categories (confirmation, heartbeat,and data integrity) are described as an example in this section, otherbreakdowns of the safety protocols and methods are also possible. Assuch, the description of these three categories should not be construedas limiting this disclosure.

The first category to be discussed is confirmation. As used herein,confirmation can refer to local verification of the data presented to aremote operator that lead the remote operator to command a tool motionprior to execution of the command. In this way, confirmation can providea primary safety mechanism that can be configured to ensure safeoperation (e.g., teleoperation of a robotic system) across a remotenetwork, such as the internet. In general, the most dangerous part ofany robotic procedure occurs when the robotic system is moving a tool,such as a catheter, within the patient. If such movements are notcorrectly determined, injury to the patient can occur. The internalmotion planning algorithms described throughout this disclosure havebeen verified and are safe, but ultimately and in some embodiments,during a procedure the goal or target of a commanded robotic motioncomes from the user or physician remotely controlling the roboticmotion. For example, as described above, the system can robotically movea tool, such as a catheter, according to waypoints selected ordetermined by the user as aided by the system. Thus, it can beimperative that the user is presented valid and timely informationregarding the state of the system. For example, if the user does notcorrectly understand the current position and orientation of a robotictool, the user may provide improper command inputs that can cause damageor injury to the patient.

Accordingly, in some embodiments, during use of the systems, method, anddevices described herein, when a decision is made (for example, by thephysician) as to what the next motion for the tool should be andconfirmed by a button press or hold, then indicators of all theinformation the user was presented and the desired motion can be sentback to the system. This information and the commanded desired motioncan then be verified locally to ensure that information the user waspresented with still matches the current state of the system. This candone, for example, with both time and position. If, locally, it isdetermined that there has been little or no change in the data, then thesystem can forward the motion command onto the robot for execution. If,locally, it is determined that the data shown to the remote user is notdeemed to be sufficiently accurate, for example, either in time orposition, the system may determine that the commanded motion should notbe executed and the commanded motion can be dropped.

In some embodiments, the system can be configured to drop such commandsuntil a max number or threshold (or a maximum time) of commands isdropped. Once this threshold is exceeded, the system may enter into afault state until the issues clear up or are dealt with by the user.

In some embodiments, data being off in time can be indicative of latencyor a stuck algorithm. In some embodiments, data being off in positioncan indicate buffering or external influence. Regardless of the cause ofthe problem, the system can be configured to wait for new information tobe presented to the user and confirmed before proceeding.

The second category to be discussed is heartbeat. As will be describedin more detail below, the systems, methods, and devices described hereincan include or be configured to communicate with a heartbeat system thatcan be configured to ensure that a next command received by the systemfrom the remote operator has a sufficiently high probability ofsucceeding. In some embodiments, the heartbeat system can do this bymonitoring each component of the system and verifying that it is inoperation and responding in a timely manner. In this way, the nextcommand sent to that component should be handled as expected. If anycomponent stops responding, the system can be configured to stopoperation, put the system into a safe state, and/or inform the user totake an appropriate action to resume operation. This can avoid gettinginto a potentially hazardous situation when components are not operatingat peak efficiency. In some embodiments, the general mechanism forachieving this with the heartbeat system can include sending smallamounts of information between a monitor and each component of thesystem. These small amounts of information can be verified to ensurethat that information is being processed and returned in a timelymanner.

In some embodiments, the Heartbeat system can be further broken downinto two distinct subsystems, a remote system and a local system. Theremote system can be configured to determine and understand thereliability of information that is being sent outside of the localnetwork, for example, information sent over a large network such as theinternet. This can be important because, for some instances ofteleoperation, information must be sent over network (e.g., theinternet) that are not fully within the control of the system. Incontrast, the local system can be configured to verify communicationwithin the on-premises robotic hardware. Since these communications areco-located the communications mechanism can be made much more reliablethan those going outside the hospital. Thus, in some embodiments, muchless effort need be spent on verifying the communication channel andmuch more spent on the timely operation of the component in question.

The third category to be discussed is data integrity and clinicalmonitoring. This category can refer to safety checks and verificationsthat relate to the functioning of the system itself. For example, dataintegrity and clinical monitoring can verify whether the system isaccurately performing the commanded motions and/or whether the commandedmotions themselves are in fact proper. In some embodiments, such dataintegrity and clinical monitoring can rely on the confirmation andheartbeat systems discussed above. When those mechanisms are functioningproperly, the system can now start to determine the more complex safetyrelated questions involved in data integrity and clinical monitoring.

For example, in some embodiments, along with each heartbeat, the systemcan send data about the functioning of the application or data stream.This information may be highly dependent on the application or clinicalembodiment itself. For example, if the data is expected to be periodic,the system may include a timestamp related to a last update. This couldshow more than a raw heartbeat in that the heartbeat, in general, onlyprovides an indication that the system is in communication with thecomponent in question. The addition of this last update timestampimplies knowledge of what that component is expected to be doing, andcan determine that the component it is actually doing its intended job.Similarly, as another example, if a catheter tip is located outside ofdetected vessels this may indicate a problem with our detectionalgorithms, but only in cases that are expected to be in the vessels.

Various examples will now be described in more detail to more fullyprovide an understanding of confirmation, heartbeat, and data integrityand clinical monitoring. As noted above, these examples are provided byway of illustration, not limitation. FIG. 15 provides an example systemthat implements these features.

In some embodiments, the goal of confirmation is to track and verifythat the information that was presented to the remote user (and that wasrelied upon in making a decision to execute a command) matches thecurrent state of the system before executing a command. In someembodiments, an initial step in performing such a confirmation can betagging data, for example, the data shown to the user which is reliedupon in making a decision, with unique identifiers. By way ofillustration, an example of confirmation for image space control will bedescribed with reference to FIG. 16. In some embodiments, for imagespace control, the information shown or displayed to the remote user caninclude, for example, an image from the x-ray hardware application (orother imager), the tool tip (tip) from the localization application(estimator), and any updates made to the goal tip location (updatedpath) suggested by the navigation application (motion planner).

As shown in FIG. 16, in some embodiments, when an image is received fromthe imager, it can be sent, for example, via shared memory, to twodifferent applications, the estimator and a remote connect application(ReConn). Across the shared memory channel a unique identifier, forexample, a unique (counting) 4-byte integer, can be attached to theimage. At 30 frames-per second (fps) such a unique identifier would notrepeat for 4.5 years, and thus can be considered to be sufficientlyunique. In other embodiments, other unique identifiers can be used. Withcontinued reference to FIG. 16, the estimator can attach this uniqueidentifier to its result. The ReConn can send the image and the uniqueidentifier over the remote network to the remote UI. It is not trivialto directly couple a number (the unique identifier) with the compressedimage data sent to the remote UI. Accordingly, an encoding scheme hasbeen designed that is resilient to compression. This encoding schemewill be discussed below with reference to FIGS. 18 and 19. Although aparticular example encoding scheme is shown and described with referenceto these figures, other schemes are also possible and may be used insome embodiments. With continued reference to FIG. 16, the remote UI canthen decode this number (the unique identifier) and send it back withthe updated command, goal, or path.

In the illustrated example of FIG. 16, the estimator can be responsiblefor turning an image into an estimated tip location. In someembodiments, this is accomplished through machine learning or otherartificial intelligence algorithms as described above. In someembodiments, as a component of confirmation, this estimate can be shownto the user before the system proceeds to move the robot according to anissued command. A potential issue is that, in some embodiments, the userwill need to see this tip location along with the image that was used tocreate it, but the images may come in along a different low latencychannel. Advantageously and to address this potential issue, in someembodiments, the system may use the fact that images generally changevery little over short amounts of time, such as the 20-30 frames persecond, at which the system sends the images. Accordingly, the systemcan attach the unique id of the image used to make the tip estimate sothat later it can verify that it was in fact close to the raw imagedisplayed to the user and relied upon in making a decision.

With continued reference to FIG. 16, an updated path can be sent fromthe motion planner to the remote UI. The user can confirm or adjust thispath, then the new path and goal can be sent back along with tipconfirmation. In some embodiments. the motion planner does not use anyprevious path information when generating motions. This can mean thatthe system will simply pass the entire path information along with thecommand and confirmation.

In some embodiments, the safety systems and methods described in thissection can provide a gateway to motion by, for example, performingcertain functions or verifications before executing any commandedmotions. For example, in the example of FIG. 16, this gateway to motioncan be performed by the system application (system app). The systemapplication can act as a gateway to the pipeline that will eventuallyresult in motion. Besides confirmation, the system application can alsoutilize the heartbeat and data integrity features mentioned above anddescribed in more detail below. These systems can supersede this, andcommands can be stopped before they are allowed into the portion ofsystem that results in motion if any component is out of place.

With continued reference to FIG. 16 and also with reference to FIG. 17,for the purpose of confirmation, the system application can have accessto, for example, and without limitation, any or all of the followinginformation: a raw mage ID (e.g., the latest ID produced by the imager);a local estimate (e.g., the local estimated tip location (for example,as determined by the estimator) and/or the local estimated image ID (forexample, the image ID associated with the estimate); and/or informationdisplayed to the remote user, which can include, for example, a remotetip location (e.g., the estimated tip (or user defined tip) that waslast shown to the user), the remote estimated image ID (e.g., the imageID associated with the tip shown to the user), the remote display imageID (e.g., the raw image last shown to the user) and/or the confirmedpath (e.g., a new goal and path that the system will be following).

In some embodiments, the system app can use the raw image ID as thecurrent image from the hardware. The heartbeat and data integrityfeatures can ensure that data is current and accurate.

The system app can be configured to verify the one or more of thefollowing, among other things, to confirm the tip shown to the user. Thesystem app can verify that the display image matches the tip location.For example, first, the system can check that it showed an image and tipthat were close together in time. Since the Heartbeat mechanism canverify images are being processed at regular intervals, the system cantake the difference between the remote estimated Image ID and the remotedisplay image ID and verify this is below a safe threshold. Additionallyor alternatively, the system app can verify that the display image iscurrent. For example, in a similar manner the system can verify that theimage it showed the user is current by taking the difference betweenthat and the raw image ID. Again, the heartbeat mechanism can, in someembodiments, verify that the raw image ID is current. Additionally oralternatively, the system app can verify that the tip location iscurrent. For example, the difference between the local estimated imageID and the remote estimated image ID can be used to determine that thesystem is using estimates within close temporal proximity, using thelogic from the first two checks. Additionally or alternatively, thesystem app can verify the tip location position. For example, thedifference between the local estimated tip location and the remote tiplocation can be used to determine that the tip has not physically moveda great distance during the confirmation process. If there is a largechange the system may not propagate motion and can give the user time toconfirm again after the new position has propagated remotely.

In some instances, since the system received the current path from theuser along with confirmation and this path is generated through theuser, the path can be forwarded when the tip is confirmed.

In some embodiments, the above can be optimized because the system hasconfirmed that the remote tip location and the local estimated tiplocation are in safe spatial proximity to be considered equivalent, andthe local estimated tip location is more recent, the system can forwardthe local estimated tip location to the motion planner to use for itsnext motion calculation.

With reference to FIG. 17, a direct joint drive mode can be providedwhere the user directly tells the system which direction it would liketo move each degree of freedom of the catheter or other tool. This canbe considered a simplified subset of image space control where the useronly needs the display image as input as shown in FIG. 17. Thus, inthese examples, the system (e.g., the system application) may onlyverify that the display image ID is current before it forwards thecommand on to rest of the system.

As mentioned briefly above, an encoding scheme has been designed that isresilient to compression and that is configured to couple a number(e.g., as the unique identifier) with a compressed image data sent tothe remote UI. This encoding scheme will be discussed below withreference to FIGS. 18 and 19.

On the local system (e.g., internally) it is generally simple to passaround a unique identifier with each image. For example, this can bedone by simply by allocating 4 extra bytes with each image in sharedmemory and passing a monotonic counter as a unique image ID. While thereare good data channels that go out to the remote machine, these are notdirectly coupled with the channel supplying the image, and the proximityto the stream is insufficient. Accordingly, it has been determined thatan advantageous way make sure the information sent with the image isreceived is to encode it in the stream directly. In some embodiments,the stream the system sent across to the remote system is compressed.Because of this, if the system simply encodes the bits as bytes in theimage, the encoded information is lost to compression. Thus, thefollowing encoding scheme has been developed to encode the number in theimage.

First, the unique image id can be encoded as a six-digit base-fournumber. For example, any digits larger than five or six can be dropped.At 30 FPS, this will cause the numbers to repeat every 2 minutes and 15seconds (34 seconds at 5), but that is, in some embodiments, is ordersof magnitude past the heartbeat rates used by the system and thus iswell below the Nyquist limit. As one specific example, Example 6687%4096=2591→base-4→220133.

Next, each digit is converted into grey scale pixel value between 0 and255 by multiplying each digit by 64. As one specific example,220133→(128), (128), (0), (64), (192), (192).

Next, each of these grey scale colors is painted into 8×8 pixel box.This way, as they are compressed the pixel value of that box remainsvery close to the original number. An 8×8 pixel box is used because themost common JPEG quantization window is 8×8 pixels. Other size pixelboxes can be used in other examples. For example, H264 uses a 4×4 pixelwindow, but aggregates into 16×16 overlapping windows which would makeevery 8×8 pixel block within the 25% error range of our base-fourencoding. As one specifical example, (128), (128), (0), (64), (192),(192) can be painted into 8×8 pixel boxes and the result is shown inFIG. 18.

Next, eight rows are augmented at the bottom of the image and theencoded pixels are attached. The resulting image is sent to the remoteapplication. As a next step, the system can be configured to pullout theencoded pixels and for each 8×8 pixel box can average the center pixels.The result can be divided by sixty-four to determine the originalbase-four number.

Finally, the base-four number is converted back to base-ten, along withany additional data that is needed. This encoding method is illustratedvisually in FIG. 19.

Examples relevant to heartbeat features and functionality that can beincluded in some of the systems, methods, and devices described hereinwill now be described with reference to FIGS. 20-25. First, however,some background information with respect to communicating over anetwork, such as the internet, will be provided.

When communicating over the internet, for example, in communicationsbetween the local and remote components of the systems described herein,internet datagrams (what TCP and UDP layer sends) are broken intosmaller chunks of data called packets. In general, packet sizes aredecided by the hardware (and/or operating system) linking any two nodesin the system. This can potentially change for every hop in a route.Because the systems described herein may communicate over publicnetwork, such as the internet, or other non-local networks, the systemis not able to determine the communication route between the local andremote components. Thus, it is generally not possible to know the packetsizes that will be used. On some operating systems, one can see themaximum transmission unit (MTU) for local connections by running $ ipaddress. An example output of such a command is shown as FIG. 20. Linuxsystems have implemented an MTU of 1500, and many other systems use thisas well. Some older hardware uses an MTU of 567. The minimum defined bythe protocols is smaller than the headers for most things. Mostliterature just leaves it as a variable, and it is believed that 1500 isthe most commonly used size.

The amount of data that can be sent across the network can be dictatedby how long it takes to get a packet across, and how many of the packetswe send make it to the other side. FIG. 20 provides an exampletraceroute readout showing various steps or hops over a communicationnetwork. Determination of how long it takes to get a packet across andhow many packets make it to the other side cannot be measured with asingle query. In fact, the single direction time it takes a packet maynot be able to be measured at all.

Round trip time (RTT) can be calculated by sending a packet smaller thanthe MTU to destination and having the receiving application send oneimmediately back. If neither of these packets are dropped then we canuse the local clock to time the transmission. A problem arises, however,in that this only determines one path through the internet. The internetis a web and each packet is capable of taking a different route. Thus, aquestion exists as to how many packets are needed to be sent to traceall of the various routes. FIG. 22 illustrates various routes throughvarious nodes between a source and a destination.

In order to know how much data the system can move it still must bedetermined how many packets are making it across the network. This canbe calculated by sending a number of packets, smaller than the MTU, withunique numbers and counting how many make it to the other side. Thequestion here, again, is how many packets are needed to be sent to get areliable metric.

Matt Mathis of Google Research and Alfred Morton of AT&T where taskedwith answering these questions for the Internet Engineering SteeringGroup. Their goal was come up with a method of testing a connectionspeed that could be guaranteed to provided actionable metrics to theISPs when connection rates dropped below advertised bandwidths. See, forexample, https://tools.ietf.org/html/rfc8337, which is incorporatedherein by reference. There are two quantities that they were able tocalculate that will have direct bearing on the teleoperation systems andmethods described herein. They found that by sending a burst ofmessages, one can cause the packets to take different routes and byusing a model one can calculate how many packets that should be. Insummary, what they found was that if one makes an a priori estimate ofthe data rate and RTT, one can calculate the number of messages thatneed to send in the burst (called target window size). They determinedthat this is related to maximum carry size of the transmission mediumand thus influences number of dropped packets. The present inventorshave advantageously determined that this window size can be used tofigure out how many bursts are needed to be sent to measure droppedpackets for the systems and methods described herein. Most of theseequations are derived from the Reno congestion control algorithmimplemented by TCP/IP.

For example:

-   -   target_window_size: The average number of packets in flight (the        window size) needed to meet the Target Data Rate for the        specified Target RTT and Target MTU. It implies the scale of the        bursts that the network might experience.    -   The target_run_length is an estimate of the minimum required        number of unmarked packets that must be delivered between losses        or ECN CE marks, as computed by a mathematical model of TCP        congestion control. The derivation here is parallel to the        derivation in [MSMO97] and, by design, is quite conservative.

window_size=ceiling(target_rate*target_RTT/(target_MTU−header_overhead))run_length=3*(target_window_size{circumflex over ( )}2).

With this background in mind, a remote application heartbeat feature canbe included in the system and methods described herein to furtherfacilitate and enable the safety of such systems and methods. Ingeneral, the main purpose of the remote heartbeat is to verify theintegrity of the internet connection between the remote browser or userand the local system. The primary concern is that this connection willnot fail by being severed, but by the slow degradation of reducedbandwidth and increased latency. Teleoperation is highly sensitive todeviations in latency as it may be needed for the user to verify motionat regular intervals. Thus, in some embodiments, the system can measurethe basic connectivity and stop motion when we see connectivityapproaching a dangerous level.

In some embodiments, for example, as shown in FIG. 22, a remoteconnection application, which can be included between the localapplication and the remote application, can be configured to monitor theconnection using, for example, a dedicated WebRTC channel for the remoteheartbeat data exchange. Rather than monitor packet loss and bandwidthdirectly, the system can, in some embodiments, use round trip time (RTT)as a proxy for these values. This can be a valid metric given the numberof packets that are sent according to Mathis and Morton. In someembodiments, the system will send packets reliably so that droppedpackets will result in re-sending and up RTT on average.

In order to run the calculations from Mathis and Morton, the system mayneed to project what RTT and data rate that it would like to maintain.For model-based bulk transport metrics, one can only measure to a targetRTT and bandwidth. Thus, a chicken and an egg problem arises in that thesystem needs to establish a base line before it can begin monitoring.While these targets can be configurable, they can have dramaticinfluence on the result, as the bandwidth needed to monitor theheartbeat can outstrip the needed system bandwidth. Picking too high ofa target RTT or too low of a target bandwidth can mean that the metricswill always show that the system is doing better in terms of bandwidth.For example, by picking small RTTs and large bandwidths, the system willalways report that we are using too much bandwidth. In some embodiments,these values can be verified by real data from clinical sites and thesethresholds can be tuned to report a slow connection whenever systemperformance degrades. In some embodiments, the targets should be fixedat reasonable values where consistency is more important than accuracy.Then, human factors and system performance should be analyzed asbandwidth is limited to decide reasonable thresholds.

In one example, an RTT from Gualala to Los Angeles has been measured ataround 80 ms. Inside the city of LA, RTTs of around 20 ms have beenmeasured. From a slow connection in San Francisco to LA, an RTT of about60 ms was measured. These seem consistent with the optimistic times ISPsreport. Thus, a target RTT of 50 ms may provide a suitable goal tomonitor.

Bandwidth usage on a fully local system has been measured at 84942.4B/s, while measuring across the Gualala to LA connection resulted in ameasurement of 63652.9 B/s. This seems somewhat consistent with the RTTdata. Thus, for some embodiments, it has been determined that a targetbandwidth value of 85 KB/s may be desirable.

In some instances, these RTT and bandwidth values may not be critical asthe system can continue to measure its connection relative to this modeland that will be consistent as long as it is close enough to get varyingresults.

Using these values, the following math can be performed to determinethat, in some embodiments, the system needs to send bursts of theepackets nice times until a total of 27 packets is reached:

-   -   target_rate=85000 B/s    -   target_RTT=0.050 seconds    -   target_MTU=1500 B    -   header_overhead=48 B

window_size=ceiling (85000 B/second*0.05 seconds/(1500 B−48 B))=ceil(4250 B/1452 B)=ceil(2.93)=3

run_length=3*(3{circumflex over ( )}2)=27

Additionally, one or more of the following factors may also beconsidered in configuring the heartbeat. For example, it may bedesirable that the heartbeat system is tolerant of packet reordering.This can be accomplished, in some embodiments, by using a reliableconnection and a hop/burst number to count each packet that is send. Insome embodiments, the time of the slowest packet can be used. In someembodiments, measurements can be made in both directions (e.g., local toremote and remote to local). Connections may not be symmetric so thesystem can send packets in both directions. In some embodiments, thesystem is configured to measure the health of the internet itself andlimit any delay to other data we may be sending. Accordingly, in someembodiments, the system may use a dedicated data channel for heartbeats.In some embodiments, cycles can be split so that the system does notrely on a continuous flow. This may also allow throttling in low RTTenvironments.

FIG. 23 also illustrates the various data channels between the systemapplication, the remote application, and the remote connectionapplication, according to some embodiments.

FIG. 24 illustrates an example heartbeat sequence diagram according tosome embodiments. In this example, a packet may comprise a singlemessage smaller than the MTU. In some embodiments, packets are keptsmall to avoid bandwidth issues, but data must be placed here for thetest to be valid. Thus, in some embodiments, the system can incorporatedata integrity information (described in more detail below) into theheartbeat message. With reference to FIG. 24, a burst can comprise asequence of packets sent in one hop. In the illustrated example, thereare three packets in each burst. An RTT measurement can be calculatedfor each direction once per cycle. In some embodiments, this willrequire three bursts so that each side (local and remote) can send andreceive a response. This will consume nine packets. Remote RTT times canbe reported for data integrity checks. Finally, each beat can repeatcycles until the target_run_length is reached. For the illustratedexample, this is three cycles. Note that expected heartbeat time can bedetermined as (number of cycles*1.5*RTT). Thus, if we expect (3*1.5*0.05seconds)=225 ms, we can use windowing to keep a moving average of thelast three cycles and this will allow us to do an update after everycycle and cut update to 75 milliseconds.

In some embodiments, the system application (for example, as shown inFIGS. 16, 17, and 24) can be in charge in verifying that some or allcomponents of the system are in proper operational order. However, insome embodiments, it need not do this directly. For example, as shown inthe example monitoring hierarchy of FIG. 25, the system application canbe configured to monitor a key set of applications to verify that theyin proper operational order and reporting updated information. If any ofthese second tier applications have issues either internally or with thesub-components that they manage then they will go into a fault state andshould be sure to include the information needed for the systemapplication to decide the appropriate action it should take to clearfaults and resume operation (whether that is to send a clear faultssignal to the application, post a message to the user, or even begin logupload and automatically start the complaint investigation process withthe FDA). This state is referred to herein as a System App Fault.Monitoring of sub-components by the individual applications will bediscussed in the Data Integrity section.

The heartbeat functionality provided by the system application can beconfigured to check that each of the second-tier applications isreceiving commands and processing these into telemetries. If anapplication can do these two things, then it can guarantee that theapplication is stepping correctly and would be able to stop itssub-components if it were told to do so, and fault if it had lostcommunication with any of its subcomponents. The system application canknow the loop rate frequency of one or all of the second-tierapplications, for example, from the associated configuration files. Thusit will send a command to each application at this frequency. It willthen register to listen to the telemetry coming off each of theseapplications. If the telemetry does not report back an updated commandin at least two times the loop rate frequency, then the systemapplication, which serves as a motion gatekeeper, will block allcommands into the motion pipeline and begin the process of restartingthe effected applications. If all second-tier applications are passingheartbeat checks the system application can check that none of theapplications are faulted and block all commands into the motionpipeline. An example is illustrated in FIG. 26.

There are many possibilities of checks for data integrity and clinicalmonitoring. As used herein, the term data integrity check is used tomean any check that requires knowledge of the specific application andimplementation and the failure that will result in system applicationblocking input into the motion portion of command pipeline (known as asystem app fault). Clinical monitoring checks are the same except thesechecks may require knowledge of the specific clinical procedure beingperformed. In some embodiments, if a data integrity and clinicalmonitoring check fails in a tier two application or below, this mayresult in a fault in the tier two application. In some embodiments, onlyin situations where a fault cannot be determined locally should the tiertwo application place the information that is needed into its telemetryso that the system application can aggregate the data with other tiertwo applications to determine if a fault is required.

Example data integrity checks for the local application can include oneor more of the following, among others:

-   -   RbtHw: Tracking Error: motors stop following commands.    -   RbtHw: Velocity request: we asked the hardware for more than we        can do.    -   RbtHw: Firmware Heartbeat lost.    -   ReConn: Remote Heartbeat check.    -   Logging App: Hard disk nearing full.    -   Imager: Can't read image.

Example data integrity checks for the system application can include oneor more of the following, among others:

-   -   Required app goes down.    -   RbtHw+Estimator: Difference in linear slide versus tip.    -   State Mismatch: robot driving while motion app is faulted.

Example clinical monitoring checks can include one or more of thefollowing, among others:

-   -   Inside Vessel check.    -   Prolapse detection.    -   Manual unexpected C-Arm motion (Optical Flow).    -   Force maximums.

In some embodiments, the system application may verify that thesecond-tier applications come up before the procedure starts and remainup until the procedure is concluded.

In some embodiments, the system can be configured to mark a timestamp onthe raw images from the imager and verify in the system application thatthe system is getting recent images moving through the local system.This can be important to implement for safety as the confirmationmechanism is based on sequence numbers which may be susceptible toabsolute delay problems if the entire pipeline is delayed. Thus, thesystem may track that the first image in the chain is on time and therest will follow.

In some embodiments, the system is configured to send back the remoteRTT calculations and verify that they are in agreement with local RTTcalculations. This can be considered part of the heartbeat, but may alsobe considered part of the data integrity checks.

In some embodiments, a WebRTC connection can be configured reportgeneral statistics on the video and each data channels. These can bemonitored in the remote connection application and fault if it isdetected that data has stopped or performance has dropped belowconfigured minimums. Also, logging this data can be key in analyzingconnect performance as we move to multiple sites.

Monitoring video can include monitoring of one or more of the following,among others:

-   -   Bytes Received: with frames received can give us bytes per frame    -   Frames Dropped: If we see a spike this could indicate an issue.    -   Frames Per Second: Will have a clear minimum in which we will        stop.    -   Frames Received: with bytes tells us the bit rate, with dropped        tells us loss rate.    -   Packets Lost: High loss percentage could indicate network        problems even if bandwidth remains high.    -   Packets Received: Need to calculate loss percent.    -   Last Packet Received Timestamp: Key in identifying a dropped        connection early.

Monitoring data can include monitoring of one or more of the following,among others:

-   -   Bytes Received: Bytes per message, warn if we go over MTU.    -   Bytes Sent: Bytes per message, warn if we go over MTU.    -   Messages Sent: For bytes per message, can be used if periodic        messages are expected.    -   Messages Received: For bytes per message, can be used if        periodic messages are expected.

Computer System

In some embodiments, the systems, processes, and methods describedherein are implemented using a computing system, such as the oneillustrated in FIG. 10. The example computer system 1002 is incommunication with one or more computing systems 1020 and/or one or moredata sources 1022 via one or more networks 1018. While FIG. 10illustrates an embodiment of a computing system 1002, it is recognizedthat the functionality provided for in the components and modules ofcomputer system 1002 can be combined into fewer components and modules,or further separated into additional components and modules.

The computer system 1002 can comprise an endovascular teleoperationand/or navigation module 1014 that carries out the functions, methods,acts, and/or processes described herein. The endovascular teleoperationand/or navigation module 1014 is executed on the computer system 1002 bya central processing unit 1006 discussed further below.

In general the word “module,” as used herein, refers to logic embodiedin hardware or firmware or to a collection of software instructions,having entry and exit points. Modules are written in a program language,such as JAVA, C, or C++, or the like. Software modules can be compiledor linked into an executable program, installed in a dynamic linklibrary, or can be written in an interpreted language such as BASIC,PERL, LAU, PHP or Python and any such languages. Software modules can becalled from other modules or from themselves, and/or can be invoked inresponse to detected events or interruptions. Modules implemented inhardware include connected logic units such as gates and flip-flops,and/or can include programmable units, such as programmable gate arraysor processors.

Generally, the modules described herein refer to logical modules thatcan be combined with other modules or divided into sub-modules despitetheir physical organization or storage. The modules are executed by oneor more computing systems and can be stored on or within any suitablecomputer readable medium, or implemented in-whole or in-part withinspecial designed hardware or firmware. Not all calculations, analysis,and/or optimization require the use of computer systems, though any ofthe above-described methods, calculations, processes, or analyses can befacilitated through the use of computers. Further, in some embodiments,process blocks described herein can be altered, rearranged, combined,and/or omitted.

The computer system 1002 includes one or more processing units (CPU)1006, which can comprise a microprocessor. The computer system 1002further includes a physical memory 1010, such as random-access memory(RAM) for temporary storage of information, a read only memory (ROM) forpermanent storage of information, and a mass storage device 1004, suchas a backing store, hard drive, rotating magnetic disks, solid statedisks (SSD), flash memory, phase-change memory (PCM), 3D XPoint memory,diskette, or optical media storage device. Alternatively, the massstorage device can be implemented in an array of servers. Typically, thecomponents of the computer system 1002 are connected to the computerusing a standards-based bus system. The bus system can be implementedusing various protocols, such as Peripheral Component Interconnect(PCI), Micro Channel, SCSI, Industrial Standard Architecture (ISA) andExtended ISA (EISA) architectures.

The computer system 1002 includes one or more input/output (I/O) devicesand interfaces 1012, such as a keyboard, mouse, touch pad, and printer.The I/O devices and interfaces 1012 can include one or more displaydevices, such as a monitor, that allows the visual presentation of datato a user. More particularly, a display device provides for thepresentation of GUIs as application software data, and multi-mediapresentations, for example. The I/O devices and interfaces 1012 can alsoprovide a communications interface to various external devices. Thecomputer system 1002 can comprise one or more multi-media devices 1008,such as speakers, video cards, graphics accelerators, and microphones,for example.

Computing System Device/Operating System

The computer system 1002 can run on a variety of computing devices, suchas a server, a Windows server, a Structure Query Language server, a UnixServer, a personal computer, a laptop computer, and so forth. In otherembodiments, the computer system 1002 can run on a cluster computersystem, a mainframe computer system and/or other computing systemsuitable for controlling and/or communicating with large databases,performing high volume transaction processing, and generating reportsfrom large databases. The computing system 1002 is generally controlledand coordinated by an operating system software, such as z/OS, Windows,Linux, UNIX, BSD, PHP, SunOS, Solaris, MacOS, ICloud services or othercompatible operating systems, including proprietary operating systems.Operating systems control and schedule computer processes for execution,perform memory management, provide file system, networking, and I/Oservices, and provide a user interface, such as a graphical userinterface (GUI), among other things.

Network

The computer system 1002 illustrated in FIG. 10 is coupled to a network1018, such as a LAN, WAN, or the Internet via a communication link 1016(wired, wireless, or a combination thereof). Network 1018 communicateswith various computing devices and/or other electronic devices. Network1018 is communicating with one or more computing systems 1020 and one ormore data sources 1022. The endovascular teleoperation and/or navigationmodule 1014 can access or can be accessed by computing systems 1020and/or data sources 1022 through a web-enabled user access point.Connections can be a direct physical connection, a virtual connection,and other connection type. The web-enabled user access point cancomprise a browser module that uses text, graphics, audio, video, andother media to present data and to allow interaction with data via thenetwork 1018.

The output module can be implemented as a combination of an all-pointsaddressable display such as a cathode ray tube (CRT), a liquid crystaldisplay (LCD), a plasma display, or other types and/or combinations ofdisplays. The output module can be implemented to communicate with inputdevices 1012 and they also include software with the appropriateinterfaces which allow a user to access data through the use of stylizedscreen elements, such as menus, windows, dialogue boxes, tool bars, andcontrols (for example, radio buttons, check boxes, sliding scales, andso forth). Furthermore, the output module can communicate with a set ofinput and output devices to receive signals from the user.

Other Systems

The computing system 1002 can include one or more internal and/orexternal data sources (for example, data sources 1022). In someembodiments, one or more of the data repositories and the data sourcesdescribed above can be implemented using a relational database, such asDB2, Sybase, Oracle, CodeBase, and Microsoft® SQL Server as well asother types of databases such as a flat-file database, an entityrelationship database, and object-oriented database, and/or arecord-based database.

The computer system 1002 can also access one or more databases 1022. Thedatabases 1022 can be stored in a database or data repository. Thecomputer system 1002 can access the one or more databases 1022 through anetwork 1018 or can directly access the database or data repositorythrough I/O devices and interfaces 1012. The data repository storing theone or more databases 1022 can reside within the computer system 1002.

URLs and Cookies

In some embodiments, one or more features of the systems, methods, anddevices described herein can utilize a URL and/or cookies, for examplefor storing and/or transmitting data or user information. A UniformResource Locator (URL) can include a web address and/or a reference to aweb resource that is stored on a database and/or a server. The URL canspecify the location of the resource on a computer and/or a computernetwork. The URL can include a mechanism to retrieve the networkresource. The source of the network resource can receive a URL, identifythe location of the web resource, and transmit the web resource back tothe requestor. A URL can be converted to an IP address, and a Doman NameSystem (DNS) can look up the URL and its corresponding IP address. URLscan be references to web pages, file transfers, emails, databaseaccesses, and other applications. The URLs can include a sequence ofcharacters that identify a path, domain name, a file extension, a hostname, a query, a fragment, scheme, a protocol identifier, a port number,a username, a password, a flag, an object, a resource name and/or thelike. The systems disclosed herein can generate, receive, transmit,apply, parse, serialize, render, and/or perform an action on a URL.

A cookie, also referred to as an HTTP cookie, a web cookie, an internetcookie, and a browser cookie, can include data sent from a websiteand/or stored on a user's computer. This data can be stored by a user'sweb browser while the user is browsing. The cookies can include usefulinformation for websites to remember prior browsing information, such asa shopping cart on an online store, clicking of buttons, logininformation, and/or records of web pages or network resources visited inthe past. Cookies can also include information that the user enters,such as names, addresses, passwords, credit card information, etc.Cookies can also perform computer functions. For example, authenticationcookies can be used by applications (for example, a web browser) toidentify whether the user is already logged in (for example, to a website). The cookie data can be encrypted to provide security for theconsumer. Tracking cookies can be used to compile historical browsinghistories of individuals. Systems disclosed herein can generate and usecookies to access data of an individual. Systems can also generate anduse JSON web tokens to store authenticity information, HTTPauthentication as authentication protocols, IP addresses to tracksession or identity information, URLs, and the like.

Embodiments

It will now be evident to those skilled in the art that there has beendescribed herein methods, systems and devices for improved routing ofcatheters and other devices to targeted anatomical locations usingrobotically controlled assemblies. Although the inventions hereof havebeen described by way of several embodiments, it will be evident thatother adaptations and modifications can be employed without departingfrom the spirit and scope thereof. The terms and expressions employedherein have been used as terms of description and not of limitation; andthus, there is no intent of excluding equivalents, but on the contrary,it is intended to cover any and all equivalents that may be employedwithout departing from the spirit and scope of the inventions.

While the disclosure has been described with reference to certainembodiments, it will be understood that various changes may be made andequivalents may be substituted for elements thereof without departingfrom the scope of the disclosure. In addition, many modifications willbe appreciated to adapt a particular instrument, situation or materialto the teachings of the disclosure without departing from the essentialscope thereof. Therefore, it is intended that the disclosure not belimited to the particular embodiment disclosed as the best modecontemplated for carrying out this disclosure, but that the disclosurewill include all embodiments falling within the scope of the appendedclaims.

Although several embodiments and examples are disclosed herein, thepresent application extends beyond the specifically disclosedembodiments to other alternative embodiments and/or uses of theinventions and modifications and equivalents thereof. It is alsocontemplated that various combinations or subcombinations of thespecific features and aspects of the embodiments may be made and stillfall within the scope of the inventions. Accordingly, it should beunderstood that various features and aspects of the disclosedembodiments can be combined with or substituted for one another in orderto form varying modes of the disclosed inventions. Thus, it is intendedthat the scope of the present inventions herein disclosed should not belimited by the particular disclosed embodiments described above, butshould be determined only by a fair reading of the claims that follow.

While the embodiments disclosed herein are susceptible to variousmodifications, and alternative forms, specific examples thereof havebeen shown in the drawings and are herein described in detail. It shouldbe understood, however, that the inventions are not to be limited to theparticular forms or methods disclosed, but, to the contrary, theinventions are to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the various embodiments describedand the appended claims. Any methods disclosed herein need not beperformed in the order recited. The methods disclosed herein includecertain actions taken by a practitioner; however, they can also includeany third-party instruction of those actions, either expressly or byimplication. For example, actions such as “advancing a catheter ormicrocatheter” or “advancing one portion of the device (e.g., linearly)relative to another portion of the device to rotate the distal end ofthe device” include instructing advancing a catheter” or “instructingadvancing one portion of the device,” respectively. The ranges disclosedherein also encompass any and all overlap, sub-ranges, and combinationsthereof. Language such as “up to,” “at least,” “greater than,” “lessthan,” “between,” and the like includes the number recited. Numberspreceded by a term such as “about” or “approximately” include therecited numbers. For example, “about 10 mm” includes “10 mm.” Terms orphrases preceded by a term such as “substantially” include the recitedterm or phrase. For example, “substantially parallel” includes“parallel.”

1. A computing system for guiding an instrument within a vascularnetwork of a patient from an insertion site to a target site during anendovascular procedure, the computing system comprising an electronicstorage medium storing instructions configured to cause a processor to,for each of a plurality of steps in guiding the instrument through thevascular network to the target site: receive, by the computing system, amedical image from a medical imaging device, wherein the medical imageis obtained from the medical imaging device that is external to thepatient non-invasively; identify, by the computing system, within themedical image, a distal tip of the instrument and a direction of thedistal tip of the instrument, the identifying the distal tip and thedirection based on using computer vision analysis of the instrumentwithin the medical image; determine, by the computing system, a currentposition and a current direction of the distal tip of the instrumentwith respect to a two-dimensional imaging plane of the medical imagebased on (a) the identified distal tip and the identified direction ofthe distal tip, (b) one or more past positions and past directions ofthe distal tip determined during one or more previously executed stepsof the plurality of steps, and (c) one or more past trajectory commandsgenerated during one or more previously executed steps of the pluralityof steps; transmit, by the computing system, display data configured todisplay the medical image, including an indication of the determinedcurrent position and the current direction of the distal tip, on adisplay device of a user device; receive, by the computing system, inputdata, the input data inputted through a graphical user interface (GUI)displayed on an input device of the user device, the input datacomprising a selection of a navigation waypoint for movement of thedistal tip of the instrument, wherein the selection comprises a pixel orgroup of pixels on the displayed medical image; generate, by thecomputing system, dynamically at least one patient specific trajectorycommand based on the determined current position and the currentdirection and the input data, the at least one patient specifictrajectory command for moving the instrument within the vascular networktoward the navigation waypoint; and transmit, by the computing system,the at least one patient specific trajectory command to a roboticmedical system configured to move the instrument according to the atleast one patient specific trajectory command, the selection of thenavigation waypoint for movement of the distal tip causes the roboticmedical system to semi-autonomously advance the distal tip of theinstrument through the vasculature of the patient to reach a positionwithin the vasculature, wherein the user device is remotely locatedrelative to the patient, the instrument, and the robotic medical system,and wherein the user device is in electronic communication with therobotic medical system through a wide area network (WAN) or theinternet.
 2. The computing system of claim 1, wherein the instrumentcomprises a catheter.
 3. The computing system of claim 1, wherein theuser device communicates with the computing system over a publiccomputer network.
 4. The computing system of claim 1, wherein the userdevice comprises a personal computer, a laptop, a tablet, or asmartphone.
 5. The computing system of claim 1, wherein the processor isfurther configured to: receive or determine a pathway from the insertionsite to the target site; for each of the plurality of steps in guidingthe instrument along the pathway to the target site: determine asuggested navigation waypoint for movement of the distal tip of theinstrument; display the suggested navigation waypoint on the displayedmedical image; and wherein receiving, on the input device of the userdevice, the selection of the navigation waypoint for movement of thedistal tip of the instrument comprises receiving a confirmation of thesuggested navigation waypoint.
 6. The computing system of claim 1,wherein the endovascular procedure comprises a mechanical thrombectomyfor large vessel occlusion stroke treatment. 7-30. (canceled)
 31. Thecomputing system of claim 1, wherein the medical image is obtainedthrough an x-ray device.
 32. The computing system of claim 1, whereinthe medical image is obtained through an intravascular ultrasounddevice.
 33. The computing system of claim 1, wherein the selection ofthe navigation waypoint for movement of the distal tip is configured toenable performance of a teleoperation of the endovascular procedure,wherein a remotely-located physician controls a robotic medical systemthat is local to the patient.
 34. The computing system of claim 1,further comprising verify, by the computing system, the current positionand the current direction of the distal tip of the instrument within thepatient based in part on the movement of the instrument according to theat least one patient specific trajectory command executed by the roboticmedical system.
 35. The computing system of claim 34, further comprisingtransmit, by the computing system, supplemental display data to the userdevice, the supplemental display data comprising the verified currentposition and current direction of the distal tip, the supplementaldisplay data configured to display on the display device of the userdevice.
 36. The computing system of claim 35, further comprisingcalculating a suggested next movement of the distal tip of theinstrument within the vascular network based in part on the target siteand on the verified current position and current direction of the distaltip of the instrument.
 37. The computing system of claim 36, furthercomprising transmit, by the computing system, updated display data tothe user device, the updated display data comprising the calculatedsuggested next movement of the distal tip, the updated display dataconfigured to be used to display information on the display device ofthe user device; and receive, by the computing system from the userdevice, a confirmation or a modification of the calculated suggestednext movement of the distal tip, the confirmation or the modificationinputted in the user device.
 38. The computing system of claim 1,wherein the generating, by the computing system, the at least onepatient specific trajectory command based on the determined currentposition and the current direction and the input data, is performedprovided that the navigation waypoint is not determined by the computingsystem to be an unsafe action, and wherein the computing system isconfigured to transmit to the user device a warning notification of thedetermined unsafe action.
 39. The computing system of claim 1, whereinthe two-dimensional imaging plane of the medical image enablesdetermination of the current direction of the distal tip of theinstrument within the display device of the user device.
 40. A computingsystem for guiding an instrument within a vascular network of a patientfrom an insertion site to a target site during an endovascularprocedure, the computing system comprising an electronic storage mediumstoring instructions configured to cause a processor to implement aprocess for guiding the instrument through the vascular network to thetarget site, the instructions comprising: receive, by the computingsystem, a medical image from a medical imaging device, wherein themedical image is obtained from the medical imaging device that isexternal to the patient; identify, by the computing system, within themedical image, a distal tip of the instrument and a direction of thedistal tip of the instrument, the identifying the distal tip and thedirection based on using computer vision analysis of the instrumentwithin the medical image; determine, by the computing system, a currentposition and a current direction of the distal tip of the instrumentwith respect to a two-dimensional imaging plane of the medical imagebased on the identified distal tip and the identified direction of thedistal tip; transmit, by the computing system, display data configuredto display the medical image, including an indication of the determinedcurrent position and the current direction of the distal tip, on adisplay device of a user device; receive, by the computing system, inputdata, the input data inputted through a graphical user interface (GUI)displayed on an input device of the user device, the input datacomprising a selection of a navigation waypoint for movement of thedistal tip of the instrument; generate, by the computing system,dynamically at least one patient specific trajectory command based onthe determined current position and the current direction and the inputdata, the at least one patient specific trajectory command for movingthe instrument within the vascular network toward the navigationwaypoint; and transmit, by the computing system, the at least onepatient specific trajectory command to a robotic medical systemconfigured to move the instrument according to the at least one patientspecific trajectory command, the selection of the navigation waypointfor movement of the distal tip causes the robotic medical system tosemi-autonomously advance the distal tip of the instrument through thevasculature of the patient to reach a position within the vasculature,wherein the user device is remotely located relative to the patient, theinstrument, and the robotic medical system, and wherein the user deviceis in electronic communication with the robotic medical system throughan electronic network.
 41. The computing system of claim 40, wherein theinstrument comprises a catheter.
 42. The computing system of claim 40,wherein the user device communicates with the computing system over apublic computer network.
 43. The computing system of claim 40, whereinthe user device comprises a personal computer, a laptop, a tablet, or asmartphone.
 44. The computing system of claim 40, wherein the processoris further configured to: receive or determine a pathway from theinsertion site to the target site; for each of the plurality of steps inguiding the instrument along the pathway to the target site: determine asuggested navigation waypoint for movement of the distal tip of theinstrument; display the suggested navigation waypoint on the displayedmedical image; and wherein receiving, on the input device of the userdevice, the selection of the navigation waypoint for movement of thedistal tip of the instrument comprises receiving a confirmation of thesuggested navigation waypoint.
 45. The computing system of claim 40,wherein the endovascular procedure comprises a mechanical thrombectomyfor large vessel occlusion stroke treatment.
 46. The computing system ofclaim 40, wherein the medical image is obtained through an x-ray device.47. The computing system of claim 40, wherein the medical image isobtained through an intravascular ultrasound device.
 48. The computingsystem of claim 40, wherein the selection of the navigation waypoint formovement of the distal tip is configured to enable performance of ateleoperation of the endovascular procedure, wherein a remotely-locatedphysician controls a robotic medical system that is local to thepatient.
 49. The computing system of claim 40, further comprisingverify, by the computing system, the current position and the currentdirection of the distal tip of the instrument within the patient basedin part on the movement of the instrument according to the at least onepatient specific trajectory command executed by the robotic medicalsystem.
 50. The computing system of claim 49, further comprisingtransmit, by the computing system, supplemental display data to the userdevice, the supplemental display data comprising the verified currentposition and current direction of the distal tip, the supplementaldisplay data configured to display on the display device of the userdevice.
 51. The computing system of claim 50, further comprisingcalculating a suggested next movement of the distal tip of theinstrument within the vascular network based in part on the target siteand on the verified current position and current direction of the distaltip of the instrument.
 52. The computing system of claim 51, furthercomprising transmit, by the computing system, updated display data tothe user device, the updated display data comprising the calculatedsuggested next movement of the distal tip, the updated display dataconfigured to be used to display information on the display device ofthe user device; and receive, by the computing system from the userdevice, a confirmation or a modification of the calculated suggestednext movement of the distal tip, the confirmation or the modificationinputted in the user device.
 53. The computing system of claim 40,wherein the generating, by the computing system, the at least onepatient specific trajectory command based on the determined currentposition and the current direction and the input data, is performedprovided that the navigation waypoint is not determined by the computingsystem to be an unsafe action, and wherein the computing system isconfigured to transmit to the user device a warning notification of thedetermined unsafe action.
 54. The computing system of claim 40, whereinthe two-dimensional imaging plane of the medical image enablesdetermination of the current direction of the distal tip of theinstrument within the display device of the user device.